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