開発環境
- OS X Mavericks - Apple (OS)
- Dart Editor (開発環境)
- Dartium | Dart/ Structured web apps (ブラウザ, Dart VM 用 (Chromium with the Dart VM))
- Safari (ブラウザ, JavaScript 用)
- Dart (プログラミング言語)
C実践プログラミング 第3版 (Steve Oualline (著)、 望月 康司 (監訳) (翻訳)、谷口 功 (翻訳)、オライリー・ジャパン)のⅡ部(単純なプログラミング)の12章(高度な型)、12.1(構造体)、12.2(共用体)、12.3(typedef)、12.4(enum型)、12.5(キャスト)、12.6(ビットフィールドまたは構造体の圧縮)、12.7(構造体配列)、12.9(プログラミング実習)、実習12-2をDartで解いてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
実習12-2.
コード
sample.dart
import 'dart:html'; void main(){ InputElement run = querySelector('#run_dart'); InputElement clear = querySelector('#clear'); Element pre = querySelector('#pre0'); run.onClick.listen((MouseEvent event){ String result = window.navigator.userAgent + '\n'; TimeAndDate t1 = new TimeAndDate(1, 2, 3, 4, 5); TimeAndDate t2 = new TimeAndDate(6, 7, 8, 9, 10); result += '$t1\n$t2\n${t1.difference(t2)}分\n'; result += '$t2\n$t1\n${t2.difference(t1)}分'; pre.text = result; }); clear.onClick.listen((MouseEvent event) => pre.text = '');; } class TimeAndDate{ int hour, minute, second, month, day; TimeAndDate(this.hour,dynamic this.minute, this.second, this.month, this.day); double difference (TimeAndDate other){ double n = 60 * (this.hour - other.hour) + (this.minute - other.minute) + (this.second - other.second) / 60; return n.isNegative ? -n : n; } String toString(){ return '$month月$day日$hour時$minute分$second秒'; } }
0 コメント:
コメントを投稿