ブロック

文法

 状態:  閲覧数:1,383  投稿日:2008-12-06  更新日:  
■例 ブロックには変数をシャドーウィングする機能がない
['foo'].each do |i| ← この i と
___['bar'].each do |i| ← このiが同じ名前だけど別の変数になること
______print i ← これは ['bar']に対する each なので当然 'bar'
___end
___print i ← ['bar'].each のブロックを実行したためにi の内容が変更されている
end

内側のprint で bar
外側のprint でも bar が出力されるので、結果は 'barbar' になる。

なお、この仕様はruby1.9で変更されている


シャドウイング

Proc

コメント投稿(ログインが必要)



週間人気ページランキング / 10-25 → 10-31
順位 ページタイトル抜粋 アクセス数
1 グローバル変数 | 文法 1
1 変数(variable) | 文法 1
1 <% %> | プログラミング 1
1 クラス定数 | 文法 1
1 カテゴリ一覧 1
1 アクセスメソッド(アクセサ) | 文法 1
1 <%= h %> | プラグイン 1
2025/11/1 1:02 更新