- ベストアンサー
WARNINGエラー「interpreted as grouped expression」
以下のような単純なプログラムなのですが、 p (1..10).find {|n| n > 3} 実行するとWARNINGが表示されてしまいます。 $ ruby -v test.rb ruby 1.8.4 (2005-12-24) [i386-cygwin] test.rb:2: warning: (...) interpreted as grouped expression 4 「interpreted as grouped expression」のエラーは何を意味するのでしょうか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
エラー (Error)じゃなくて、警告 (Warning)なんですけどね。 これは、pはメソッドなので、 p "hogehoge" は p("hogehoge") と書くことができます。 このとき、p("hogehoge") と p ("hogehoge") とでは意味と動作が変わることがあります。 質問にある例でいうと、 > p (1..10).find {|n| n > 3} (1..10) の部分について、「ひょっとして p(1..10)としたかったのではないですか?」 と注意を促しているのです。 p( (1..10).find {|n| n > 3} ) のように、pの引数を囲むカッコをつければ警告は出なくなります。 >ruby 1.8.4 (2005-12-24) [i386-cygwin] ところでバージョンがずいぶん古いですね。 新しくした方がいいと思いますよ(現在は1.8.7)。
お礼
なるほどです。 大変助かりました。 バージョンも更新することにします。 どうもありがとうございました。