回答編集履歴

8

修正

2017/07/17 11:25

投稿

退会済みユーザー
test CHANGED
@@ -34,11 +34,7 @@
34
34
 
35
35
 
36
36
 
37
- 1.upto 100 do |x|
38
-
39
- puts (x % 15).zero? ? 'FizzBuzz' : (x % 5).zero? ? 'Buzz' : (x % 3).zero? ? 'Fizz' : x
37
+ 1.upto(100) { |x|puts (x % 15).zero? ? 'FizzBuzz' : (x % 5).zero? ? 'Buzz' : (x % 3).zero? ? 'Fizz' : x }
40
-
41
- end
42
38
 
43
39
 
44
40
 

7

syuusei

2017/07/17 11:25

投稿

退会済みユーザー
test CHANGED
@@ -34,11 +34,9 @@
34
34
 
35
35
 
36
36
 
37
- 100.times do |x|
37
+ 1.upto 100 do |x|
38
-
39
- n = x + 1
38
+
40
-
41
- puts (n % 15).zero? ? 'FizzBuzz' : (n % 5).zero? ? 'Buzz' : (n % 3).zero? ? 'Fizz' : n
39
+ puts (x % 15).zero? ? 'FizzBuzz' : (x % 5).zero? ? 'Buzz' : (x % 3).zero? ? 'Fizz' : x
42
40
 
43
41
  end
44
42
 

6

修正

2017/07/17 10:33

投稿

退会済みユーザー
test CHANGED
@@ -28,6 +28,24 @@
28
28
 
29
29
  ```
30
30
 
31
+ ```Ruby
32
+
33
+ # encoding : utf-8
34
+
35
+
36
+
37
+ 100.times do |x|
38
+
39
+ n = x + 1
40
+
41
+ puts (n % 15).zero? ? 'FizzBuzz' : (n % 5).zero? ? 'Buzz' : (n % 3).zero? ? 'Fizz' : n
42
+
43
+ end
44
+
45
+
46
+
47
+ ```
48
+
31
49
  考えてみました。
32
50
 
33
51
 

5

修正

2017/07/17 10:30

投稿

退会済みユーザー
test CHANGED
@@ -130,4 +130,64 @@
130
130
 
131
131
  ```
132
132
 
133
+ #追記
133
134
 
135
+ ```Ruby
136
+
137
+ class Multiper
138
+
139
+ 1.step(100) do |count|
140
+
141
+ puts case
142
+
143
+ when (count % 15).zero?
144
+
145
+ "fizzBuzz"
146
+
147
+ when (count % 3).zero?
148
+
149
+ "Fizz"
150
+
151
+ when (count % 5).zero?
152
+
153
+ "Buzz"
154
+
155
+ else
156
+
157
+ count
158
+
159
+ end
160
+
161
+ end
162
+
163
+ end
164
+
165
+
166
+
167
+ Multiper.new
168
+
169
+ ```
170
+
171
+ このように書けばinitializeメソッドに
172
+
173
+ 1.step(100) do |count|以下を入れなくても
174
+
175
+ 大丈夫みたいです。
176
+
177
+
178
+
179
+ このように書かないでFifteenメソッドなどを
180
+
181
+ 利用した場合は実行時期の関係でエラーが発生する
182
+
183
+ ようです。
184
+
185
+
186
+
187
+ 参考
188
+
189
+ [Rubyでクラス宣言直下に書かれたメソッドの実行時期](http://yucatio.hatenablog.com/entry/2016/06/30/224138)
190
+
191
+
192
+
193
+

4

修正

2017/07/17 10:17

投稿

退会済みユーザー
test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  100.times do |x|
22
22
 
23
- p fizzbuzz(x + 1)
23
+ puts fizzbuzz(x + 1)
24
24
 
25
25
  end
26
26
 
@@ -106,4 +106,28 @@
106
106
 
107
107
  ```
108
108
 
109
+ 変更点
109
110
 
111
+ 1.1.step(100) do |count|にendがなかったので追加。
112
+
113
+ 2.initializeメソッドを追加。
114
+
115
+ 3.caseにあったcountを削除。
116
+
117
+ 4.Fifteenメソッドなどに引数を渡すように変更。
118
+
119
+
120
+
121
+ 無くても問題がないもの
122
+
123
+ ```
124
+
125
+ Fifteen = 15
126
+
127
+ Three = 3
128
+
129
+ Five = 5
130
+
131
+ ```
132
+
133
+

3

修正

2017/07/17 09:44

投稿

退会済みユーザー
test CHANGED
@@ -46,7 +46,7 @@
46
46
 
47
47
 
48
48
 
49
- def Three(n)
49
+ def Three(n)
50
50
 
51
51
  (n%3) == 0
52
52
 
@@ -54,13 +54,21 @@
54
54
 
55
55
 
56
56
 
57
- def Five(n)
57
+ def Five(n)
58
58
 
59
59
  (n%5) == 0
60
60
 
61
61
  end
62
62
 
63
+
63
64
 
65
+ Fifteen = 15
66
+
67
+ Three = 3
68
+
69
+ Five = 5
70
+
71
+
64
72
 
65
73
  def initialize
66
74
 

2

修正

2017/07/17 09:39

投稿

退会済みユーザー
test CHANGED
@@ -38,21 +38,45 @@
38
38
 
39
39
  class Multiper
40
40
 
41
+ def Fifteen(n)
42
+
43
+ (n%15) == 0
44
+
45
+ end
46
+
47
+
48
+
49
+ def Three(n)
50
+
51
+ (n%3) == 0
52
+
53
+ end
54
+
55
+
56
+
57
+ def Five(n)
58
+
59
+ (n%5) == 0
60
+
61
+ end
62
+
63
+
64
+
41
65
  def initialize
42
66
 
43
67
  1.step(100) do |count|
44
68
 
45
69
  puts case
46
70
 
47
- when (count % 15).zero?
71
+ when Fifteen(count)
48
72
 
49
73
  "fizzBuzz"
50
74
 
51
- when (count % 3).zero?
75
+ when Three(count)
52
76
 
53
77
  "Fizz"
54
78
 
55
- when (count % 5).zero?
79
+ when Five(count)
56
80
 
57
81
  "Buzz"
58
82
 

1

修正

2017/07/17 09:36

投稿

退会済みユーザー
test CHANGED
@@ -29,3 +29,49 @@
29
29
  ```
30
30
 
31
31
  考えてみました。
32
+
33
+
34
+
35
+ 質問者様のコードを動くように変更。
36
+
37
+ ```Ruby
38
+
39
+ class Multiper
40
+
41
+ def initialize
42
+
43
+ 1.step(100) do |count|
44
+
45
+ puts case
46
+
47
+ when (count % 15).zero?
48
+
49
+ "fizzBuzz"
50
+
51
+ when (count % 3).zero?
52
+
53
+ "Fizz"
54
+
55
+ when (count % 5).zero?
56
+
57
+ "Buzz"
58
+
59
+ else
60
+
61
+ count
62
+
63
+ end
64
+
65
+ end
66
+
67
+ end
68
+
69
+ end
70
+
71
+
72
+
73
+ Multiper.new
74
+
75
+ ```
76
+
77
+