辞書アプリの改良:コマンド化
関連エントリ
StarDictの辞書アプリ - Random Note
辞書アプリの改良 - Random Note
辞書アプリの改良:初期化処理の高速化(1) - Random Note
辞書アプリの改良:初期化処理の高速化(2) - Random Note
コマンド化
初期化処理が高速になったので、検索ごとにコマンドラインから実行するように変更する。
ここの部分を
def input = new BufferedReader(new InputStreamReader(System.in)) while (true) { print "search: " key = input.readLine() startCount() def resultList = dictionary.search(key) for (idx in resultList) { println idx.word if (resultList.size() <= 10) { println "=> " + dictionary.getDefinition(idx) } } print "time:" + stopCount() println ", count:${resultList.size()}" }
こう変更し、
key = args[0] println "search: ${key}" startCount() def resultList = dictionary.search(key) for (idx in resultList) { println idx.word if (resultList.size() <= 10) { println "=> " + dictionary.getDefinition(idx) } } print "time:" + stopCount() println ", count:${resultList.size()}"
下記のようなshellスクリプトを用意するだけ(しなくてもいいけど)。
groovy dict.groovy $1