開発環境
- 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 (著)、 望月 康司 (監訳) (翻訳)、谷口 功 (翻訳)、オライリー・ジャパン)のⅢ部(高度なプログラミング概念)の17章(高度なポインタ)、17-12(プログラミング実習)、実習17-2.をDartで解いてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
17-12(プログラミング実習)、実習17-2.
コード
sample.dart
import 'dart:html'; void main(){ String s = 'kamimura'; InputElement input = querySelector('#f0'); InputElement run = querySelector('#run_dart'); InputElement clear = querySelector('#clear'); Element pre = querySelector('#pre0'); run.onClick.listen((MouseEvent event){ pre.text = window.navigator.userAgent + '\n'; var l = new LinkedList(); for(var lang in langs){ l.add(lang); } pre.text += '$l\n'; l.remove('c'); pre.text += '$l\n'; l.remove('python'); pre.text += '$l\n'; l.remove('dart'); pre.text += '$l\n'; l.remove('scheme'); l.remove('haskell'); pre.text += '$l\n'; }); clear.onClick.listen((MouseEvent event) => pre.text = ''); } class LinkedList{ var a; LinkedList next; LinkedList(){ a = null; next = null; } void add(var x){ if(a == null){ a = x; next = new LinkedList(); } else { next.add(x); } } void remove(var x){ if(a == x){ if(next != null){ a = next.a; next.remove(a); } else { a = null; } } else { next.remove(x); } } String toString() => a == null ? '(null)' : '(LinkedList $a ${next})'; } List<String> langs = ["python", "c", "scheme", "haskell", "dart"];
0 コメント:
コメントを投稿