質問編集履歴

1

書式の改善

2020/11/02 17:55

投稿

kawatati
kawatati

スコア2

test CHANGED
File without changes
test CHANGED
@@ -1,22 +1,140 @@
1
- あるRubyの課題でわからないことがあるので教えていただきたいです。
1
+ #あるRubyの課題でわからないことがあるので教えていただきたいです。
2
2
 
3
3
  Cloud9で作業しています。
4
4
 
5
5
 
6
6
 
7
- **Humanクラスを定義する**
7
+ ##**Humanクラスを定義する**
8
-
8
+
9
- 〜仕様〜
9
+ ##〜仕様〜
10
+
11
+ ###『Animalクラス ( animal.rb )』
12
+
13
+ Humanクラスの親となるクラスです。
14
+
15
+ ・attr_accessor を使って、名前を格納する変数と年齢を格納する変数を定義してください。(苗字と名前は分けなくてOKです。変数名は自由とします。)
16
+
17
+ ・initializeに名前・年齢の情報を格納する引数を設定し、処理内容として名前・年齢の各変数を引数の情報で初期化するようにしてください。引数の名前は自由とします。
18
+
19
+ ・say という名前のメソッドを定義してください。このメソッドを実行すると、変数に代入された名前と年齢を使って「○○です。△△歳です。」と画面に puts で表示するように処理を作りましょう。
20
+
21
+
22
+
23
+
24
+
25
+ ###『Thinkableモジュール ( thinkable.rb )』
26
+
27
+ ・クラスではなく モジュール として作ってください。
28
+
29
+ ・think メソッドを中に定義してください。このメソッドを実行すると、Human クラスに定義された”趣味”の文字列が入っている変数(後述) の中身を利用して「私は□□について考えています。」と画面に puts で表示するように処理を作りましょう。
30
+
31
+
32
+
33
+
34
+
35
+ ###『Humanクラス( human.rb )』
36
+
37
+ ・< を使って、Animal クラスを継承する記述を入れてください。
38
+
39
+ ・Thinkable モジュールの think メソッドを、このクラスで使えるようにしたいので、Thinkable モジュールを include してください。
40
+
41
+ ・attr_accessor を使って、趣味の情報を保管する変数を定義してください。変数名は自由とします。
42
+
43
+ ・initializeに名前・年齢・趣味の情報を格納する引数を設定し、処理内容として名前・年齢・趣味の各変数を引数の情報で初期化するようにしてください。引数の名前は自由とします。
44
+
45
+
46
+
47
+
48
+
49
+ ###『実行ファイル( main.rb )』
50
+
51
+ 以下のコードをひな形として利用してください。
52
+
53
+
54
+
55
+ require './human'
56
+
57
+
58
+
59
+ tanaka = Human.new()
60
+
61
+ suzuki = Human.new()
62
+
63
+ sato = Human.new()
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+ ・上記のひな形では new の括弧内に何も引数を記述できていません。Humanクラスの initialize が正しく実行され、名前・年齢・趣味の各変数が引数の情報で初期化されるように、引数を設定してください。
74
+
75
+ ・以下の3人のインスタンスを作成し、各インスタンスで say と think メソッドを実行する処理を追記してください。
76
+
77
+ 変数 名前     年齢    趣味
78
+
79
+ tanaka 田中 太郎 25 電車
80
+
81
+ suzuki 鈴木 次郎 30 野球
82
+
83
+ sato 佐藤 花子 20 映画
84
+
85
+ ・各 say と think メソッドの実行順序は、下記の実行結果になるように並べてください。
86
+
87
+
88
+
89
+ ###ー実行結果ー
90
+
91
+ $ ruby main.rb
92
+
93
+ 田中 太郎です。25歳です。
94
+
95
+ 私は電車について考えています。
96
+
97
+ 鈴木 次郎です。30歳です。
98
+
99
+ 私は野球について考えています。
100
+
101
+ 佐藤 花子です。20歳です。
102
+
103
+ 私は映画について考えています。
104
+
105
+
106
+
107
+ ❇️注意点
108
+
109
+ 名前空間は使っても使わなくてもOKです。
110
+
111
+ superの使用は任意とします。
112
+
113
+
114
+
115
+ #自分が書いたコード
10
116
 
11
117
  『Animalクラス ( animal.rb )』
12
118
 
119
+ class Animal
120
+
121
+ attr_accessor :namae, :nenrei
122
+
123
+ def initialize(namae, nenrei)
124
+
125
+ self.namae = namae
126
+
13
- Humanクラスの親となるクラスです。
127
+ self.nenrei = nenrei
128
+
14
-
129
+ end
130
+
131
+ def say
132
+
15
- ・attr_accessor を使って、名前を格納する変数と年齢を格納する変数を定義してください。(苗字と名前は分けなくてOKです。変数名は自由とします。)
133
+ puts "#{self.namae}です。#{self.nenrei}歳です。"
16
-
134
+
17
- ・initializeに名前・年齢の情報を格納する引数を設定し、処理内容として名前・年齢の各変数を引数の情報で初期化するようにしてください。引数の名前は自由とします。
135
+ end
18
-
136
+
19
- ・say という名前のメソッドを定義してください。このメソッドを実行すると、変数に代入された名前と年齢を使って「○○です。△△歳です。」と画面に puts で表示するように処理を作りましょう。
137
+ end
20
138
 
21
139
 
22
140
 
@@ -24,178 +142,52 @@
24
142
 
25
143
  『Thinkableモジュール ( thinkable.rb )』
26
144
 
145
+ module Thinkable
146
+
147
+ def think
148
+
27
- ・クラスではなく モジュール とし作っください。
149
+ puts "私は#{self.syumi}につい考えています"
28
-
150
+
29
- ・think メソッドを中に定義してください。このメソッドを実行すると、Human クラスに定義された”趣味”の文字列が入っている変数(後述) の中身を利用して「私は□□について考えています。」と画面に puts で表示するように処理を作りましょう。
151
+ end
152
+
30
-
153
+ end
31
-
32
154
 
33
155
 
34
156
 
35
157
  『Humanクラス( human.rb )』
36
158
 
159
+ require './animal'
160
+
161
+ require './thinkable'
162
+
163
+
164
+
165
+ class Human < Animal
166
+
167
+ attr_accessor :syumi
168
+
37
- ・< を使って、Animal クラスを継承する記述を入れてください。
169
+ def initialize(namae,nenrei,syumi)
170
+
38
-
171
+ self.namae = namae
172
+
173
+ self.nenrei = nenrei
174
+
175
+ self.syumi = syumi
176
+
177
+ end
178
+
39
- ・Thinkable モジュールの think メソッドを、このクラスで使えるようにしたいので、Thinkable モジュールを include してください。
179
+ include Thinkable
40
-
180
+
41
- ・attr_accessor を使って、趣味の情報を保管する変数を定義してください。変数名は自由とします。
181
+ end
42
-
43
- ・initializeに名前・年齢・趣味の情報を格納する引数を設定し、処理内容として名前・年齢・趣味の各変数を引数の情報で初期化するようにしてください。引数の名前は自由とします。
44
-
45
-
46
182
 
47
183
 
48
184
 
49
185
  『実行ファイル( main.rb )』
50
186
 
51
- 以下のコードをひな形として利用してください。
52
-
53
-
54
-
55
187
  require './human'
56
188
 
57
189
 
58
190
 
59
- # インスタンスの作成
60
-
61
- tanaka = Human.new()
62
-
63
- suzuki = Human.new()
64
-
65
- sato = Human.new()
66
-
67
-
68
-
69
- # メソッドを実行
70
-
71
-
72
-
73
-
74
-
75
- ・上記のひな形では new の括弧内に何も引数を記述できていません。Humanクラスの initialize が正しく実行され、名前・年齢・趣味の各変数が引数の情報で初期化されるように、引数を設定してください。
76
-
77
- ・以下の3人のインスタンスを作成し、各インスタンスで say と think メソッドを実行する処理を追記してください。
78
-
79
- 変数 名前     年齢    趣味
80
-
81
- tanaka 田中 太郎 25 電車
82
-
83
- suzuki 鈴木 次郎 30 野球
84
-
85
- sato 佐藤 花子 20 映画
86
-
87
- ・各 say と think メソッドの実行順序は、下記の実行結果になるように並べてください。
88
-
89
-
90
-
91
- ー実行結果ー
92
-
93
- $ ruby main.rb
94
-
95
- 田中 太郎です。25歳です。
96
-
97
- 私は電車について考えています。
98
-
99
- 鈴木 次郎です。30歳です。
100
-
101
- 私は野球について考えています。
102
-
103
- 佐藤 花子です。20歳です。
104
-
105
- 私は映画について考えています。
106
-
107
-
108
-
109
- ❇️注意点
110
-
111
- 名前空間は使っても使わなくてもOKです。
112
-
113
- superの使用は任意とします。
114
-
115
-
116
-
117
- ⭕️自分が書いたコード
118
-
119
- 『Animalクラス ( animal.rb )』
120
-
121
- class Animal
122
-
123
- # 内容は省略。自力で考えてみましょう。
124
-
125
- attr_accessor :namae, :nenrei
126
-
127
- # この部分をinitializeメソッドを使った初期化の処理で埋めてみましょう
128
-
129
- def initialize(namae, nenrei)
130
-
131
- self.namae = namae
132
-
133
- self.nenrei = nenrei
134
-
135
- end
136
-
137
- def say
138
-
139
- puts "#{self.namae}です。#{self.nenrei}歳です。"
140
-
141
- end
142
-
143
- end
144
-
145
-
146
-
147
-
148
-
149
- 『Thinkableモジュール ( thinkable.rb )』
150
-
151
- module Thinkable
152
-
153
- def think
154
-
155
- puts "私は#{self.syumi}について考えています。"
156
-
157
- end
158
-
159
- end
160
-
161
-
162
-
163
- 『Humanクラス( human.rb )』
164
-
165
- require './animal'
166
-
167
- require './thinkable'
168
-
169
-
170
-
171
- class Human < Animal
172
-
173
- attr_accessor :syumi
174
-
175
- def initialize(namae,nenrei,syumi)
176
-
177
- self.namae = namae
178
-
179
- self.nenrei = nenrei
180
-
181
- self.syumi = syumi
182
-
183
- end
184
-
185
- include Thinkable
186
-
187
- end
188
-
189
-
190
-
191
- 『実行ファイル( main.rb )』
192
-
193
- require './human'
194
-
195
-
196
-
197
- # インスタンスの作成
198
-
199
191
  tanaka = Human.new("田中 太郎", 25, "電車")
200
192
 
201
193
  suzuki = Human.new("鈴木 次郎", 30, "野球")
@@ -204,8 +196,6 @@
204
196
 
205
197
 
206
198
 
207
- # メソッドを実行
208
-
209
199
 
210
200
 
211
201
 
@@ -214,7 +204,7 @@
214
204
 
215
205
 
216
206
 
217
- **わからないこととして**
207
+ ##**わからないこととして**
218
208
 
219
209
  最後の実行ファイルのコードの書き方がわかりません。
220
210