2014年3月11日火曜日

開発環境

Head First JavaScript ―頭とからだで覚えるJavaScriptの基本( Michael Morrison (著), 豊福 剛 (翻訳)、オライリージャパン)の9章(データを活気づける)、自分で考えてみよう(p.441)をDartで考えてみる。

その他参考書籍

自分で考えてみよう(p.441)

コード

sample.dart

import 'dart:html';

void main () {
  search.onClick.listen((MouseEvent event) => searchBlog());
}

ButtonElement search = querySelector('#search0');
InputElement search_text = querySelector('#searchtext0');
DivElement div = querySelector('#d0');

List<Blog> blog = [new Blog(new DateTime(2008, 8, 14), '注文していた…'),
                   new Blog(new DateTime(2008, 8, 19), '新しいキューブは…'),
                   new Blog(new DateTime(2008, 8, 16), '新しいキューブと…'),
                   new Blog(new DateTime(2008, 8, 21), 'ネットで…')];

class Blog {
  DateTime date_time;
  String body;
  Blog(this.date_time, this.body);
  bool containsText(String text) => 
      body.toLowerCase().contains(new RegExp(text.toLowerCase()));
}

void searchBlog(){
  String text = search_text.value;
  String result;
  for (Blog entry in blog){
    if(entry.containsText(text)){
      DateTime date = entry.date_time;
      result = '[${date.month}/${date.day}/${date.year}] ${entry.body}';
    }
  }
  if (result == null) {
    result = '検索テキストを含むエントリは見つかりません。';
  }
  div.text = result;
}

0 コメント:

コメントを投稿