電子書籍の厳選無料作品が豊富!

Ruby2.0.0で下記のようなブロック変数を使おうとすると、

ary.each do |x; y] # yがブロックローカル変数

syntax error, unexpected ';' の文法エラーが出てしまうようなのですが、
ものの本には、ブロックローカル変数は、ブロック変数xの後ろに「;」で区切って書くとなっています。
ブロックローカル変数は2.0.0では使えないのでしょうか?

質問者からの補足コメント

  • すいません、

    ary.each do |x; y| です。

      補足日時:2016/02/05 19:03

A 回答 (3件)

No.1です。


私の環境では、↓でエラーにはご提示のエラーにはなりませんでした。

[1,2,3,4].each do |x; y|
y = x + 1
puts x
puts y
end

なるほどセミコロンで区切る書き方もあるのですね、勉強になりました。
でも、でも一々宣言しなくても↓の様に書けるので今一つ目的がよくわからないです。

[1,2,3,4].each do |x|
y = x + 1
puts x
puts y
end
    • good
    • 0

ary.each do |x; y|


か?
    • good
    • 0

普通は↓のように書くと思いますが……読み違いか、参考書の誤植ではないでしょうか?



ary.each do |x, y|
 処理
end
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!