【解説】まつもと ゆきひろのRuby検定【問題8】
Rubyでは変数の宣言は必要ありませんが,ローカル変数の値を参照する前に,スコープ内でその変数に値が代入されていなければいけません。このコードでは,eachメソッドのブロック内で変数c の値を表示しようとしています。ローカル変数cには,値が代入されていないため,変数c が未定義であるというエラーになります。 変数cがブロックパラメータとして定義されているか,eachメソッド実行前に値が代入されていればエラーになることなく実行されます。 |
更新情報
|
||||||||||||||||||||||||||||||||||||||||||