質問: true return char end end puts char_checker('x') (以上コード) このchar_checker, なぜかpartsを返してきます。返してほしいのはcharのtrueかfalseなのに泣 書いたコードに間違いがあるのはわかっているのですが、どこで間違っているのかがどうしてもわかりません。わかる方回答よろしくお願いします。ちなみに環境はmac os x 10.5.4でrubyのバージョンはバンドルされている1.8.6です。
回答: 変数の使い回しは止めましょう。 メモリを節約しているつもりかもしれませんが、意味ありません。 で、char_checker に一行書き加えて、何がどうなっているのかよく考えてみてください。 def char_checker(char) parts = ['i', 'v', 'x', 'l', 'c', 'd', 'm'] parts.each do |part| puts "char=#{char}, part=#{part}" #追加 if part != char char = false elsif part == char char = true return char end end end