開発環境
- 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 (著)、 望月 康司 (監訳) (翻訳)、谷口 功 (翻訳)、オライリー・ジャパン)のⅢ部(高度なプログラミング概念)の22章(まとめのプログラミング)、22.11(プログラミング実習)、実習22-1.をDartで解いてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
実習22-1.
コード
sample.dart
import 'dart:html';
void main(){
InputElement input = querySelector('#f0');
ButtonElement run = querySelector('#run_dart');
ButtonElement clear = querySelector('#clear');
PreElement pre = querySelector('#pre0');
run.onClick.listen((MouseEvent event){
pre.text = window.navigator.userAgent + '\n';
var reader = new FileReader();
try{
File file = input.files.first;
reader.readAsText(file);
reader.onLoad.listen((Event event){
String s = reader.result;
var words = doubled(s);
words.forEach((var s) => pre.text += '$s\n');
});
}catch(e){
pre.text += '$e';
}
});
clear.onClick.listen((MouseEvent event) => pre.text = '');
}
List<String> doubled(String s){
var result = [];
var words = s.split(new RegExp(r'\W+'));
var i;
var max = words.length - 1;
for(i = 0; i < max; i += 1){
if(words[i] == words[i+1]){
result.add(words[i]);
}
}
return result;
}
0 コメント:
コメントを投稿