プログラミング言語 Dart を使ってみた
つい先日, 一般にも公開されたプログラミング言語 Dart を使ってみました.
Web上に動作環境も用意してくれていたので軽く遊んでみたのでその紹介.
公式サイトはこちら.
Hello, world!
お馴染み, Hello, world!
main() { print('Hello, world!'); }
print sample
print サンプル. 文字列内でも ${式}という形で書けば評価してくれるみたいです. 地味に便利!!
ちなみにオブジェクトを print した際は暗黙的にメンバのtoString() が呼ばれます. なので自作の class を定義した際は必ず toString() をオーバーライドしておきましょう!!
main() { var hoge= 'test'; var foo = 2; var bar = 42; print('hoge=$hoge'); print('foo+bar=${foo+bar}'); }
Vector2
演算子オーバーロードがサポートされている!! ってことで数学 Vector2 クラスを作ってみました.
最近は, JavaScript と Python 三昧だったのでありがたやぁ~!!
/** * @brief Vector2 class */ class Vector2 { Vector2(this.x, this.y); length() { return Math.sqrt(this.x * this.x + this.y * this.y); } lengthSquared() { return this.x * this.x + this.y * this.y; } normalize() { var len = this.length(); this.x /= len; this.y /= len; return this; } toString() { return '(${this.x}, ${this.y})'; } operator+ (rhs) { return new Vector2(this.x+rhs.x, this.y+rhs.y); } operator- (rhs) { return new Vector2(this.x-rhs.x, this.y-rhs.y); } operator* (value) { return new Vector2(this.x*value, this.y*value); } operator/ (value) { return new Vector2(this.x/value, this.y/value); } static dot(lhs, rhs) { return lhs.x*rhs.x + lhs.y*rhs.y; } var x, y; } main() { var a = new Vector2(3, 4); var b = new Vector2(5, 6); print('a = $a'); print('b = $b'); print('a+b = ${a+b}'); print('a-b = ${a-b}'); print('a*5 = ${a*5}'); print('b/2 = ${b/2}'); print('a.length() = ${a.length()}'); print('b.lengthSquared() = ${b.lengthSquared()}'); print('b.normalize() = ${b.normalize()}'); print('b.length() = ${b.length()}'); print('Vector2.dot(a, b) = ${Vector2.dot(a, b)}'); }
感想
『JavaScript の欠点を補い, パフォーマンス, セキュリティ面でも優れ, かつ大規模プログジェクトにも耐えうる言語』
まだざっくりとしか触っていないので把握できていないことが多いのですが, 少し触った印象としては最近の C# に似ているかなと思いました.
型がありつつも, 無視出来る仕様になっていてユーザが用途にあわせて選べる点は好感を持てます.
継承関係も問題なく使えたので, 確かに大規模でもいけそうな予感がします.
corelib はひと通り触ってみたので, 気が向いたときにでもまとめてサンプルを公開しようと思います.
今年の年末には, VM とクロスコンパイラが提供予定らしいです. なのでそれまでに備えて Web のテスト環境でちょこちょこと遊んで行こうと思います.
来年頭には, dart でバリバリゲーム作ってる予感… やべっヨダレがww
Dart についてざっくり書きました.
今後が楽しみな言語です.
『プログラミング言語 Dart を使ってみた』 http://t.co/oeqxT1mr
#programmming #dart
Google が最近発表した Dart についてざっくり書きました.
今後が楽しみな言語です.
『プログラミング言語 Dart を使ってみた』
http://t.co/oeqxT1mr
#dart #programming
Dartって、演算子のオーバーロードもできるのか。 http://t.co/DQmfjaIQ
“プログラミング言語 Dart を使ってみた | TM Life” http://t.co/MhHv6ZTw
[…] 私のサイトではお馴染み Vector2 実装です. Dart の時も JSX の時も作ったやつです. […]