【Perl,PHP】LLバトルロワイヤル6【Ruby,Python】
at TECH
356:デフォルトの名無しさん
09/07/03 15:05:25
Rubyは local や my といった予約語を使わずに、文脈上でスコープを定義する
ブロック内に変数が出現したとき、その時点で可視かどうかで
可視 → その変数を使う(つまり、書き換える)
不可視→ 新規変数(ブロックローカル)として定義する
という動作になってる
>>346では [1, 2, 3].each のブロック内での s は可視なので、変数を単に再利用する
これを最初から不可能にすることもできなくはなかったんだが、そうすると
out = 外部データ'
someblock do |s|
puts out #=> undefined
end
というように、ブロック外の変数にアクセスする方法がなくなってしまう
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5496日前に更新/194 KB
担当:undef