【プログラム】
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の再定義とかが含まれています。