前提・実現したいこと
コマンドプロンプトで実行したところ
1.蔵書データを入力(BookInfoManagerクラスのrun中のnum)を選択
→キー、書籍名などすべて入力
→書籍名のところで文字化け
が起きてしまいます。
文字化けをなくすにはどうすれば良いのでしょうか。
発生している問題・エラーメッセージ
該当のソースコード
Ruby
1# -*- coding: utf-8 -*- 2require 'date' 3 4class BookInfo 5 def initialize(title, author, page, publish_date) 6 @title = title 7 @author = author 8 @page = page 9 @publish_date = publish_date 10 end 11 12 attr_accessor :title, :author, :page, :publish_date 13 14 def to_s 15 "#{@title}, #{@author}, #{@page}, #{@publish_date}" 16 end 17 18 def toFormattedString(sep = "\n") 19 "書籍名:#{@title}#{sep}著者名:#{@author}#{sep}ページ数:#{@page}ページ#{sep}発刊日:#{@publish_date}#{sep}" 20 end 21end 22 23class BookInfoManager 24 def initialize 25 @book_infos = {} 26 end 27 28 def setUp 29 @book_infos["Horie2019"] = BookInfo.new( 30 "有り金は全部使え", 31 "堀江貴文", 32 278, 33 Date.new(2019,5,24) 34 ) 35 @book_infos["Higashino2018"] = BookInfo.new( 36 "秘密", 37 "東野圭吾", 38 198, 39 Date.new(2018,9,1) 40 ) 41 end 42 43 def addBookInfo 44 book_info = BookInfo.new("", "", 0, Date.new) 45 print "\n" 46 print "キー:" 47 key = gets.chomp 48 print "書籍名:" 49 book_info.title = gets.chomp 50 print "著者名:" 51 book_info.author = gets.chomp 52 print "ページ数:" 53 book_info.page = gets.chomp.to_i 54 print "発刊年:" 55 year = gets.chomp.to_i 56 print "発刊月:" 57 month = gets.chomp.to_i 58 print "発刊日:" 59 day = gets.chomp.to_i 60 book_info.publish_date = Date.new( year, month, day ) 61 62 @book_infos[key] = book_info 63 end 64 65 def listAllBookInfos 66 puts "\n-------------------" 67 @book_infos.each do |key, value| 68 print value.toFormattedString 69 puts "\n-------------------" 70 end 71 end 72 73 def run 74 while true 75 print " 76 1.蔵書データの登録 77 2.蔵書データの表示 78 9.終了 79 番号を選んでください(1,2,9):" 80 81 num = gets.chomp 82 case 83 when '1' == num 84 addBookInfo 85 when '2' == num 86 listAllBookInfos 87 when '9' == num 88 break; 89 else 90 91 end 92 end 93 end 94 95end 96 97book_info_manager = BookInfoManager.new 98 99book_info_manager.setUp 100 101book_info_manager.run
試したこと
1行目に # -- coding: utf-8 -- と書くのを忘れていて
追加しましたが変化はありませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/01 11:26
2020/06/01 13:20
2020/06/01 13:33
2020/06/01 14:40