Dart がおもしろいかもしれない
2011/10/13
2011/10/14
いつも新しいプログラミング言語を玩具にしてしまう人が総スルーをきめこんでいるDartですが、ちょっと触ってみたところ、おもしろいかもしれないと思った。
クラスの機能が、異常にJava的なんだけど、文字列への変数埋め込みや変数宣言などは普通に便利で楽。
硬さと緩さの絶妙なバランスを持った言語なのかもしれない。
遊んだコード
何しようとしてるかバレバレです。
class Obj {} class Atom extends Obj {var value; withValue(value) => this.value = value; Atom.withValue(this.value); String toString() => 'Atom($value)';} class Nil extends Atom { Nil(); String toString() => 'Nil()';} class ConsCell extends Obj {var l, r; withValues(l, r) {this.l = l;this.r = r;} ConsCell.withValues(this.l, this.r); String toString() => '($l . $r)';} main() {var c1, c2, c3; c1 = new ConsCell.withValues(new Atom.withValue(1), new Nil()); c2 = new ConsCell.withValues(new Atom.withValue("二"), c1); c3 = new ConsCell.withValues(new Atom.withValue(3), c2); print(c3);} |
実行結果
$ dart_bin xxx.dart(Atom(3) . (Atom(二) . (Atom(1) . Nil()))) |
また、時間みつけて遊んでみたい。