###[ ][ ]が何を意味しているのか分からない
nという引数が3の倍数ならFizz、5の倍数ならBuzz、どちらにも当てはまればFizzBuzzと表示され
どれにも当てはまらなければnがそのまま表示されるというコードを練習問題として書きました。
私はif,elsif,elseを使って下にあるように書いたんですが回答ではif文の下に書いてあるような
コードが用いられてました。
調べたところ三項演算子というものだと知ったのですがret = 以下の部分が理解できません。
""で囲まれていることから文字列であること、#{}で中を式展開させていることは分かりますが
[][]のようになっている場合配列を複数持っているということでしょうか?
自分なりに調べているんですが答えに行きつかないので
どういう構造なのか教えて頂きたいです。
"#{["Fizz"][1]}".empty?はtrueなのに
"#{["Fizz"][0]}".empty?はfalseを示すのかも謎です。
初心者なので質問の仕方も下手で何言ってるか分からないかもしれませんが
よろしくお願いします。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
for num in 1..30 do if num%3 == 0 && num%5 == 0 puts "FizzBuzz" elsif num%3 == 0 puts "Fizz" elsif num%5 == 0 puts "Buzz" else puts num end end def fizz_buzz(n) ret = "#{["Fizz"][n % 3]}#{["Buzz"][n % 5]}" ret.empty? ? n.to_s : ret end puts (1..100).collect{|n| fizz_buzz n }
補足情報(FW/ツールのバージョンなど)
mac ruby 2.6.5
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/06 11:20