2014年1月3日金曜日

開発環境

C実践プログラミング 第3版 (Steve Oualline (著)、 望月 康司 (監訳) (翻訳)、谷口 功 (翻訳)、オライリー・ジャパン)のⅢ部(高度なプログラミング概念)の22章(まとめのプログラミング)、22.11(プログラミング実習)、実習22-1.をDartで解いてみる。

その他参考書籍

実習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 コメント:

コメントを投稿