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

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

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

Cygwinは、Unixのような環境を、Windows上で構築させるコマンドラインインターフェースです。

Emacs

GNU Emacsと拡張性の高い、高性能なテキストエディタです。豊富なライブラリの導入により、統合開発環境やWebブラウザとしても機能させる事が可能です。

Ruby

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

Q&A

4回答

2793閲覧

limitについて Fizz Buzz問題

peke

総合スコア13

Cygwin

Cygwinは、Unixのような環境を、Windows上で構築させるコマンドラインインターフェースです。

Emacs

GNU Emacsと拡張性の高い、高性能なテキストエディタです。豊富なライブラリの導入により、統合開発環境やWebブラウザとしても機能させる事が可能です。

Ruby

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

1グッド

1クリップ

投稿2016/06/28 00:26

編集2016/06/28 00:47

1から指定した数 (limit) までを出力するプログラムを書きなさい。
ただし,3の倍数のときは数の代わりに「Fizz」,5の倍数のときは「Buzz」と出力し, 3と5両方の倍数の場合には「FizzBuzz」と出力すること。

1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz

このプログラムの仕様は次のようなものである。
• コマンドライン引数から受け取った値を,変数 limit に代入する。ただし,limit は整数とする。

という問題があり、

def fizz_buzz(n)
for i in 1..n
s = ""
s += "fizz" if i % 3 == 0
s += "buzz" if i % 5 == 0
s = i.to_s if s == ""
puts s
end
end
fizz_buzz(100)

としてみたのですが
limitへの代入の仕方がわかりません。
どなたかよろしくおねがいします。

DrqYuto👍を押しています

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

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

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

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

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

guest

回答4

0

そもそも、ここに書かれているコードはRubyではなく、Visual Basic系(正確な処理系まではわかりませんが)のコードです。

Rubyインタプリタでは動きませんので、Excel VBA、あるいはVisual Basicなど適切な環境で実行してください。

投稿2016/06/28 00:32

maisumakun

総合スコア145183

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

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

peke

2016/06/28 00:34

そうだったのですか。 コードを考え直します ありがとうございます
guest

0

コマンドライン引数は、ARGVという配列で参照できますので、

Ruby

1~~~ 2if ARGV.size >= 1 3 limit = ARGV[0].to_i 4else 5 puts "引数無し" 6 exit 1 7end 8fizz_buzz(limit)

なお、問題で求められているのは、Fizz Buzz ですが、あなたのプログラムで表示されるのはfizz buzz なので、私が採点者なら×にします。大文字と小文字の区別は、初歩の初歩です。

投稿2016/06/28 01:01

otn

総合スコア84531

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

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

0

gets.to_i
を使うのはどうでしょうか。

limit=gets.to_i def fizz_buzz(n) for i in 1..n s = "" s += "Fizz" if i % 3 == 0 s += "Buzz" if i % 5 == 0 s = i.to_s if s == "" puts s end end fizz_buzz(limit) #=>以下出力 =begin 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 =end

https://paiza.io/projects/59hs7TeRQ1JH-9hEIR5zrQ?language=ruby

投稿2018/12/04 07:01

DrqYuto

総合スコア432

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

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

0

https://www.rosettacode.org/wiki/FizzBuzz
では、いろいろな言語でかいた FizzBuzz のコードをみることができます。
こういったものを参考にしてみては如何でしょう。
web 上ではこのほかにもたくさん動作する FizzBuzz コードをみつけることができます。
まずはこれらを動作させてみて、内容を理解するとよいです。
そして次に、自分なりにコードを書いてみるとよいです。

投稿2016/06/28 22:16

katoy

総合スコア22324

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問