FizzBuzz完成品


わたしとしての完成品を書いておきます。
ボックスから出す必要はないと思うのでその分短くなっています。
結果の表現は10 x 10の表にします。
Windows版のJ602での結果です。

      • -

FizzBuzz=: 3 : 0
(<'FizzBuzz') (<:(0 E. 15 | A) # A) } (<'Buzz') (<:(0 E. 5 | A) # A) } (<'Fizz') (<:(0 E. 3 | A) # A) } <"0 A=.>:i.y
)

   10 10$FizzBuzz 100
 +----+----+----+----+--------+----+----+----+----+--------+
 |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    |
 +----+----+----+----+--------+----+----+----+----+--------+

少しわかりやすく定義すると下記のような感じかな?

   FizzBuzz =: 3 : 0
   FizzBuzz =: 3 : 0
array =. >:i.y  NB.1ベースの配列を作成する
original =. <"0 array   NB.ボックスにする
fizz =. (<'Fizz') (

以上