iolanguage でパスカルの三角形を作ってみる

d.y.d 氏を経由、パスカルの三角形を、なんとなく io で書いてみる。


プログラム(pascal.io)

new_line := method(list,
    new_list := list with(0)
    list clone prepend(0) foreach(i, v,
        new_list atPut(i, v +( new_list at(i) ) )
    )
    new_list
)

a := List with(1)
for(i, 0, 10,
    a println
    a = new_line(a)
)

実行結果

D:\owner\soft\Io>io pascal.io
1
1, 1
1, 2, 1
1, 3, 3, 1
1, 4, 6, 4, 1
1, 5, 10, 10, 5, 1
1, 6, 15, 20, 15, 6, 1
1, 7, 21, 35, 35, 21, 7, 1
1, 8, 28, 56, 70, 56, 28, 8, 1
1, 9, 36, 84, 126, 126, 84, 36, 9, 1
1, 10, 45, 120, 210, 252, 210, 120, 45, 10, 1


なんとなく面白くないな……(´・ω・`)
http://konoe.lab2.kuis.kyoto-u.ac.jp/~hanatani/tdiary/?date=20060512#p04 の Haskel のコードは感動したんだけど……。


さすがに、io は大得意ってレベルじゃないし、面白いコード書けるレベルじゃないっすわ orz