Rubyの初心者ですが壁にぶちあたっております
『初めてのプログラミング』を読んでRubyを勉強しています。その中にある問題でp.127の『ローマ数字をアラビア数字に変換するプログラム』を書け、というのがありまして、最初に入力したローマ数字を弾く部分を書いているのですが…(以下コード)
puts 'Enter roman numeral.'
roman = gets.chomp.upcase
roman_array = roman.to_a
def char_checker(char)
parts = ['I', 'V', 'X', 'L', 'C', 'D', 'M']
parts.each do |part|
if part != char
char = false
elsif part == char
char = 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です。
お礼
迅速な回答ありがとうございました!!助かりました^^