開発環境
- OS X Mavericks - Apple (OS)
- Dart Editor (開発環境)
- Dartium | Dart/ Structured web apps (ブラウザ, Dart VM 用 (Chromium with the Dart VM))
- Safari (ブラウザ, JavaScript 用)
- Dart (プログラミング言語)
初めてのPerl 第6版 (Randal L. Schwartz (著)、brian d foy (著)、Tom Phoenix (著)、近藤 嘉雪 (翻訳)、オライリージャパン)、9章(正規表現によるテキスト処理)の9.6(練習問題)3.をDartで考えてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
9.6(練習問題)3.
コード
sample.dart
import 'dart:html';
void main() {
run.onClick.listen((MouseEvent event) {
try {
File file = input.files[0];
reader.readAsText(file);
reader.onLoad.listen((ProgressEvent event) {
String before = reader.result;
String temp1 = before.replaceAll(pattern1, '\0\0\0\0\0');
String temp2 = temp1.replaceAll(pattern2, 'Fred');
String after = temp2.replaceAll(pattern3, 'Wilma');
t1
..text = before
..rows = before.split(pattern4).length
..style.width = '650px';
t2
..text = after
..rows = after.split(pattern4).length
..style.width = '650px';
div
..innerHtml = ''
..append(new Text('元の内容'))
..append(new BRElement())
..append(t1)
..append(new BRElement())
..append(new Text('置換後'))
..append(new BRElement())
..append(t2);
});
} catch (e) {
div.text = '$e';
}
});
t1.onClick.listen((MouseEvent event) => t1.select());
t2.onClick.listen((MouseEvent event) => t2.select());
}
ButtonElement run = querySelector('#run_dart');
InputElement input = querySelector('#f0');
DivElement div = querySelector('#d0');
FileReader reader = new FileReader();
TextAreaElement t1 = new TextAreaElement();
TextAreaElement t2 = new TextAreaElement();
RegExp pattern1 = new RegExp(r'fred', caseSensitive: false);
RegExp pattern2 = new RegExp(r"wilma", caseSensitive: false);
RegExp pattern3 = new RegExp('\0\0\0\0\0');
RegExp pattern4 = new RegExp(r'\n');
0 コメント:
コメントを投稿