Rubyの以下のプログラムでunexpected tlDENTIFIER,expecting keyword_endというエラーが出てきます。
ただ、このエラーが著者名、ページ数、発刊年、発刊月、発刊日の行だけに出ていて書籍名で同じエラーが出ていません。
以前にも同じような質問をして二つ目のプログラムに変えて解決したのですが自分のプログラミングは教本を丸写ししたもので、gets.chompとgets.chomp.to_iが使えないのなら買った教本のほとんどが間違っているかと疑ってしまいます。(訂正はありませんでした)
教本ではテキストエディタに関しては軽く触れるぐらいでした。
だから、その設定でミスをしている?のかRubyのバージョンの違いでこうなってるのかなと思っています(本が少し古い)。
ATOMを使っています。
エラーが出る理由を教えてください。
def addBookInfo book_info = BookInfo.new( "", "", 0, Date.new ) print "\n" print "キー: " key = gets.chomp print "書籍名: " book_info.title = gets.chomp print "著者名: " book_info.author = gets.chomp print "ページ数: " book_info.page = gets.chomp.to_i print "発刊年: " year = gets.chomp.to_i print "発刊月: " month = gets.chomp.to_i print "発刊日: " day = gets.chomp.to_i book_info.publish_date = Date.new( year, month, day ) @book_infos[key] = book_info end
def addBookInfo book_info = BookInfo.new( "", "", 0, Date.new ) print "\n" print "キー: " key = gets.chomp.encode("UTF-8") print "書籍名: " book_info.title = gets.chomp.encode("UTF-8") print "著者名: " book_info.author = gets.chomp.encode("UTF-8") print "ページ数: " book_info.page = gets.chomp.encode("UTF-8").tr("0-9","0-9").to_i print "発刊年: " year = gets.chomp.encode("UTF-8").tr("0-9","0-9").to_i print "発刊月: " month = gets.chomp.encode("UTF-8").tr("0-9","0-9").to_i print "発刊日: " day = gets.chomp.encode("UTF-8").tr("0-9","0-9").to_i book_info.publish_date = Date.new( year, month, day ) @book_infos[key] = book_info end
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/01/09 06:46
2017/01/09 11:30
退会済みユーザー
2017/01/11 10:24