Factorに入門する(その他) はじめてのFizzBuzz

[ Factor プログラミング言語 ]

素直にFizzBuzzを書いてみました。

IN: fizzbuzz
USING: kernel io math prettyprint sequences ;
: fizzBuzz ( -- ) "FizzBuzz" print ;
: fizz ( -- ) "Fizz" print ;
: buzz ( -- ) "Buzz" print ;
: modN? ( x n -- ? ) mod 0 = ;

: fizzBuzzMain ( array -- ) 
    dup 15 modN?
        [ drop fizzBuzz ]
        [ dup 3 modN?
            [ drop fizz ]
            [ dup 5 modN?
                [ drop buzz ]
                [ . ]
              if
            ]
          if
        ]
    if ;

100 [ 1 + fizzBuzzMain ] each

かっこわるい。xがnで割り切れるならstrをスタックに置く、みたいなwordが書ければよいんだけど、手持ちの語彙でシンプルに書くことができません。まだまだFactor使いの初歩にもいっていないなわたし。

トラックバック

このエントリーのトラックバックURL:
http://www.skoji.jp/mtbin/mt-tb.cgi/1219

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)