FizzBuzz(世界のナベアツ)プログラム on Ruby

【プログラム】

require "nabeatsu"
nabeatsu = Nabeatsu.new

nabeatsu.status "アホ", :rule => [3.no_baisu_no_toki, 3.no_tsuku_toki]
nabeatsu.status "犬", :rule => 5.no_baisu_no_toki

nabeatsu.say 1..40 do |number, status|
  if status
    print "#{number}(#{status.join(' ')})"
  else
    print number
  end
  print " "
end
puts

【出力結果】

1 2 3(アホ) 4 5(犬) 6(アホ) 7 8 9(アホ) 10(犬) 11 12(アホ) 13(アホ) 14 15(アホ 犬) 16 17 18(アホ) 19 20(犬) 21(アホ) 22 23(アホ) 24(アホ) 25(犬) 26 27(アホ) 28 29 30(アホ 犬) 31(アホ) 32(アホ) 33(アホ) 34(アホ) 35(アホ 犬) 36(アホ) 37(アホ) 38(アホ) 39(アホ) 40(犬)

こんな感じで、簡単にナベアツの状態の定義・出力が出来ます。

書庫作るのも面倒なので、nabeatsu.rbのソースをそのままここに貼っておきます。RSpecとかっぽく書けるようにするため、Numericの再定義とかが含まれています。

戻る