duck

普段は型推論つきの静的型付け言語で、 as duck とした部分だけ Ruby とか ObejctiveC みたいな世界に突入する、と。

i@u ~/test/boo> booi duck.boo
duck.boo(6,9): BCE0019: Boo.Lang.Compiler.CompilerError: 'Length' is not a member of 'System.Object'.

i@u ~/test/boo> cat duck.boo
i = 1
// i = "1"        // これはできない。 i は int になってるから。

o as object = 1
o = "1"
// print o.Length // これはできない。 object に size というメソッドが無いから。

d as duck = 1
d = "1"           // 大丈夫なのよさ。
print d.Length    // 大丈夫なのよさ。

i@u ~/test/boo> booi duck.boo
1

うん素晴らしい。

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h