Date post: | 13-Jan-2015 |
Category: |
Technology |
Upload: | yasuharu-hayami |
View: | 1,023 times |
Download: | 0 times |
(株)エフ・アイ・ティ 速水 康晴
速水 康晴(はやみ やすはる) ◦ 新潟県新潟市在住
(株)エフ・アイ・ティ 新潟事業所 SVF開発部勤務 ◦ 本社は東京(渋谷に移転) ◦ SVFとかRDEとか作っている会社
プログラマ ◦ 主にJavaでデスクトップアプリ開発 ◦ 最近はFlex/ActionScriptも少々
E-mail:[email protected] Twitter:toby55kij
2010/07/24 2
Groovyで簡単にコマンドライン電卓を作成 ◦ コマンドラインで計算式を入力→計算結果を出力 1+1→2 ◦ 入力ヒストリーを保存 ◦ 直前の計算結果を再利用
なぜ電卓? ◦ 仕事で欲しかったから ◦ Webでコマンドライン入力方法を見つけた
某「3分クッキング」風味
2010/07/24 3
Java ◦ なるべく新鮮な物 ◦ 1.6.0_20
Groovy ◦ なるべく新鮮な物 ◦ 1.7.4
JLine ◦ Groovy付属の物で良い
今回はGrapeで取得 ◦ 0.9.94
エディタ ◦ 少々
2010/07/24 4
JLine (http://jline.sf.net/) ◦ コンソール入力ライブラリ ◦ readline/editlineの機能をJavaで 入力ヒストリー タブ補完(コマンドライン補完) コマンドライン編集 キーバインドのカスタマイズ 入力文字のマスク ◦ Groovyに付属 GROOVY_HOME/lib ◦ Ver2.*がある!? 今回は利用せず
2010/07/24 5
JLine ◦ Grapeで取得 group=‘jline’, module=‘jline’, version=‘0.9.94’
コマンドライン入力 ◦ JLineのConsoleReader#readLine()を使用 入力ヒストリーは自動で行われる
計算 ◦ evaluate()を使用 ◦ 結果を変数に保存して再利用
出力 ◦ println()を使用
2010/07/24 6
@Grab('jline:jline:0.9.94') def c = new jline.ConsoleReader() while (l = c.readLine('$ ')) println "${_ = evaluate(l)}" println ''
2010/07/24 7
デモ ◦ 時間があれば
2010/07/24 8