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()))) |
また、時間みつけて遊んでみたい。