質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

1回答

877閲覧

ruby fizzbuzz問題

llsss

総合スコア5

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2019/12/01 18:38

編集2019/12/01 19:09

前提・実現したいこと

FizzBuzzのメソッドの仕様
特定の正の整数値を引数として受け取ります
その数値によって戻り値が変わるようにしてください(条件は下記のとおりです)
数値が3の倍数であれば、戻り値は”Fizz”
数値が5の倍数であれば、戻り値は”Buzz”
数値が3の倍数であり5の倍数でもある場合は、戻り値は”FizzBuzz”
上記のどれも満たさない場合は、その数値自体を戻り値にする
FizzBuzzのメソッドの使い方
FizzBuzzのメソッドを実行する前に下記の1行を記述してください。
num_max = 100
1から num_max までの整数値についてループを作り、FizzBuzzのメソッドを実行します
FizzBuzzのメソッドの戻り値をターミナルに表示してください

発生している問題・エラーメッセージ

上記のどれにも満たされない場合、その数値自体を戻り値にする方法

現在のコードだとfizzなどを表示し、nilを返すメソッドになっている。

作成したコード

num_max = 100
def fizzbuzz(n)
if n % 15 == 0
puts "FizzBuzz"
elsif n % 3 == 0
puts "Fizz"
elsif n % 5 == 0
puts "Buzz"
else
puts n
end
end
(1..num_max).each do |n|
fizzbuzz(n)
end

実行結果

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
FizzBuzz
31
32
Fizz
34
Buzz
Fizz
37
38
Fizz
Buzz
41
Fizz
43
44
FizzBuzz
46
47
Fizz
49
Buzz
Fizz
52
53
Fizz
Buzz
56
Fizz
58
59
FizzBuzz
61
62
Fizz
64
Buzz
Fizz
67
68
Fizz
Buzz
71
Fizz
73
74
FizzBuzz
76
77
Fizz
79
Buzz
Fizz
82
83
Fizz
Buzz
86
Fizz
88
89
FizzBuzz
91
92
Fizz
94
Buzz
Fizz
97
98
Fizz
Buzz

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

fizzbuzzメソッド自体は、結果を返すのみで、結果を印字しないようにすればよいかと。
puts "FizzBuzz" を
return "FizzBuzz"
に変更してください。(ほかの個所も同様です)

そして、呼び出し側で結果を印字するので、
fizzbuzz(n) を
puts fizzbuzz(n)
に変更します。

投稿2019/12/01 20:49

tatsu99

総合スコア5438

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

llsss

2019/12/01 23:23

理解できました! ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問