回答編集履歴

4

修正

2017/01/04 15:12

投稿

退会済みユーザー
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  .to_iの間違いが原因ではと私個人は予想します
10
10
 
11
- 以下、勝手に改造。
11
+ 以下、コピペ
12
12
 
13
13
 
14
14
 

3

補足

2017/01/04 15:12

投稿

退会済みユーザー
test CHANGED
@@ -6,4 +6,192 @@
6
6
 
7
7
  ```
8
8
 
9
- .to_iの間違いが原因ではと私個人は予想します
9
+ .to_iの間違いが原因ではと私個人は予想します
10
+
11
+ 以下、勝手に改造。
12
+
13
+
14
+
15
+ ```Ruby
16
+
17
+ #encoding : utf-8
18
+
19
+ require 'date'
20
+
21
+
22
+
23
+ class BookInfo
24
+
25
+ def initialize( title, author, page, publish_date )
26
+
27
+ @title = title
28
+
29
+ @author = author
30
+
31
+ @page = page
32
+
33
+ @publish_date = publish_date
34
+
35
+ end
36
+
37
+
38
+
39
+ attr_accessor :title, :author, :page, :publish_date
40
+
41
+ def to_s
42
+
43
+ "#{@title}, #{@author}, #{@page}, #{@publish_date}"
44
+
45
+ end
46
+
47
+
48
+
49
+ def toFormattedString( sep = "\n" )
50
+
51
+ "書籍名: #{@title}#{sep}著書名: #{author}#{sep}ページ数: #{@page}ぺ―ジ#{sep}発刊日: #{@publish_date}#{sep}"
52
+
53
+ end
54
+
55
+ end
56
+
57
+
58
+
59
+ class BookInfoManager
60
+
61
+ def initialize
62
+
63
+ @book_infos = {}
64
+
65
+ end
66
+
67
+
68
+
69
+ def setUp
70
+
71
+ @book_infos["Yamada2005"] = BookInfo.new(
72
+
73
+ "実践アジャイル ソフトウェア開発法とプロジェクト管理",
74
+
75
+ "山田 正樹",
76
+
77
+ 248,
78
+
79
+ Date.new( 2005, 1, 25 ) )
80
+
81
+ @book_infos["Ooba2006"] = BookInfo.new(
82
+
83
+ "入門LEGO MINDSTORMS NXT レゴブロックで動くロボット",
84
+
85
+ "大庭 慎一郎",
86
+
87
+ 164,
88
+
89
+ Date.new( 2006, 12, 23 ) )
90
+
91
+ end
92
+
93
+
94
+
95
+ def addBookInfo
96
+
97
+ book_info = BookInfo.new( "", "", 0, Date.new )
98
+
99
+ print "\n"
100
+
101
+ print "キー: "
102
+
103
+ key = gets.chomp.encode("UTF-8")
104
+
105
+ print "書籍名: "
106
+
107
+ book_info.title = gets.chomp.encode("UTF-8")
108
+
109
+ print "著者名: "
110
+
111
+ book_info.author = gets.chomp.encode("UTF-8")
112
+
113
+ print "ページ数: "
114
+
115
+ book_info.page = gets.chomp.encode("UTF-8").tr("0-9","0-9").to_i
116
+
117
+ print "発刊年: "
118
+
119
+ year = gets.chomp.encode("UTF-8").tr("0-9","0-9").to_i
120
+
121
+ print "発刊月: "
122
+
123
+ month = gets.chomp.encode("UTF-8").tr("0-9","0-9").to_i
124
+
125
+ print "発刊日: "
126
+
127
+ day = gets.chomp.encode("UTF-8").tr("0-9","0-9").to_i
128
+
129
+ book_info.publish_date = Date.new( year, month, day )
130
+
131
+ @book_infos[key] = book_info
132
+
133
+ end
134
+
135
+ def listAllBookInfos
136
+
137
+ puts "\n---------------------"
138
+
139
+ @book_infos.each { |key, info|
140
+
141
+ print info.toFormattedString
142
+
143
+ puts "\n----------------------------"
144
+
145
+ }
146
+
147
+ end
148
+
149
+ def run
150
+
151
+ while true
152
+
153
+ print "
154
+
155
+ 1.蔵書データの登録
156
+
157
+ 2.蔵書データの表示
158
+
159
+ 9.終了
160
+
161
+ 番号を選んでください(1,2,9) :"
162
+
163
+
164
+
165
+ num = gets.chomp.encode("UTF-8").tr("0-9","0-9").to_s
166
+
167
+ case
168
+
169
+ when '1' == num
170
+
171
+ addBookInfo
172
+
173
+ when '2' == num
174
+
175
+ listAllBookInfos
176
+
177
+ when '9' == num
178
+
179
+ break;
180
+
181
+ else
182
+
183
+ end
184
+
185
+ end
186
+
187
+ end
188
+
189
+ book_info_manager = BookInfoManager.new
190
+
191
+ book_info_manager.setUp
192
+
193
+ book_info_manager.run
194
+
195
+ end
196
+
197
+ ```

2

修正

2017/01/04 15:11

投稿

退会済みユーザー
test CHANGED
@@ -6,4 +6,4 @@
6
6
 
7
7
  ```
8
8
 
9
- .to_iの間違いが原因では。
9
+ .to_iの間違いが原因ではと私個人は予想します

1

修正

2017/01/04 14:58

投稿

退会済みユーザー
test CHANGED
@@ -6,4 +6,4 @@
6
6
 
7
7
  ```
8
8
 
9
- .to_iの間違いでは。
9
+ .to_iの間違いが原因では。