Dart がおもしろいかもしれない

いつも新しいプログラミング言語を玩具にしてしまう人が総スルーをきめこんでいる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())))

また、時間みつけて遊んでみたい。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


The reCAPTCHA verification period has expired. Please reload the page.

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください