io language を触ってみたよ

http://d.hatena.ne.jp/higeorange/20060911/1157955155 の約数を求めるメソッドを実装してみた

Number devidable := method(
    result := list()
    for(i, 1, self sqrt,
        if(self % i == 0,
            result append(i)
            if(i != self / i,
                result append(self / i)
            )
        )
    )   
    return result 
)

----
100 devidable => list(1, 100, 2, 50, 4, 25, 5, 20, 10)


組込みオブジェクトに対するメソッドが全くわからず手探りで作った。
普通にあるじゃないか http://www.iolanguage.com/docs/reference/


javascript でいう Math が Number オブジェクトに組み込まれてる感じ

2 sqrt => 1.414214
2 pow(3) => 8
1.5 round => 2
1.5 floor => 1
....

cat.io

#!/usr/bin/io

f := File clone open(args at(1))
l := ""
while(l = f readLine,
    write(l, "\n")
)
f close

閉じ忘れ