From: Koji Arai Date: 2002-03-23T23:26:38+09:00 Subject: [ruby-list:34613] Re: エラーメッセージ "odd number list forHash" 新井です。 In message "[ruby-list:34612] Re: エラーメッセージ"odd number list forHash"" on 23 Mar 2002 23:16:50 +0900, cyross@po.twin.ne.jp wrote: > サイロスです。 > ふむ、なるほど。 > > <ここから> >     :(略) > { > if block_given? > yield > else > "本文がないよん" > end > } + > :(略) > <ここまで> > > この部分を、僕はブロックとして定義して、中のif文を実行させようとしたので > すが、Rubyでハッシュとして認識されてしまったようですね。 > > となると、さて、これをどうしたらいいのか・・・。 1. p "foo" + if block_given? "hoge" else "本文がないよん" end + "bar" 2. p "foo" + (if block_given? "hoge" else "本文がないよん" end) + "bar" 3. p "foo" + (block_given? ? "hoge" : "本文がないよん") + "bar" -- 新井康司 (Koji Arai)