開発環境
- 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 コメント:
コメントを投稿