開発環境
- OS X Mavericks - Apple (OS)
- Dart Editor (開発環境)
- Dartium | Dart/ Structured web apps (ブラウザ, Dart VM 用 (Chromium with the Dart VM))
- Safari (ブラウザ, JavaScript 用)
- Dart (プログラミング言語)
初めてのコンピュータサイエンス(Jennifer Campbell、Paul Gries、Jason Montojo、Greg Wilson(著)長尾 高弘(翻訳))の9章(集合と辞書)、9.5(練習問題)、3をDartで解いてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
9.5(練習問題)、3.
コード
sample.dart
import 'dart:html'; void main() { InputElement input = querySelector('#f0'); InputElement run = querySelector('#run_dart'); InputElement clear = querySelector('#clear'); Element pre = querySelector('#pre0'); run.onClick.listen((MouseEvent event){ String result = '${window.navigator.userAgent}\n'; try{ File file = input.files[0]; FileReader reader = new FileReader(); reader.readAsText(file); reader.onLoad.listen((Event event){ String text = reader.result; result += getAuthors(text).toString(); pre.text = result; }); } catch (e){ result += e.toString(); pre.text = result; } }); clear.onClick.listen((MouseEvent event) => pre.text = ''); } Set<String> getAuthors(String text){ Set<String> result = new Set<String>(); List<String> lines = text.split('\n'); RegExp pattern = new RegExp(r'^author', caseSensitive: false); for (String line in lines){ if (pattern.hasMatch(line)){ List<String> authors = line.substring('author'.length).split(','); result.addAll(authors.map((String s) => s.trim())); } } return result; }
0 コメント:
コメントを投稿