「PIONEコマンドのTIPS」の版間の差分
(→式の評価) |
|||
行93: | 行93: | ||
==== 式の評価 ==== | ==== 式の評価 ==== | ||
− | pione-valを使用することによって、[[PIONE]] | + | pione-valを使用することによって、[[PIONE]]の記述による式を評価することができます。複雑な式が正しく動作しているかシェルコマンドにてテストするときに利用できます。(参照: [[PIONEの式]])<br> |
<br> | <br> | ||
2014年12月8日 (月) 09:00時点における版
PIONEコマンド作成に関するTIPSを示します。実装例はPIONEチュートリアル、PIONEチュートリアル-PNML、実行例はPIONE Webclientチュートリアルをご覧下さい。
目次
pione定義書、パッケージ
pione定義書やパッケージの実行
ログ(pione-process.log)の見方
主にpione log formatを使用して出力されたファイルをProMで閲覧すると見やすいです。詳しくはPIONEチュートリアル-XESをご覧下さい。
実行結果をファイル出力するとき
他のコマンドと同様にシェルコマンド>などを用いて、ファイルへ出力することができますが、このときはオプション--color falseを使用して下さい。これはpioneコマンドの実行結果が標準出力されるとき、端末に対しての色制御文字列も同時に送るため、そのままテキスト化すると色制御文字を含んだ出力となってしまうためです。
実行例
デフォルト | --color false |
$ pione-client HelloWorld.pione > out.txt |
$ pione-client HelloWorld.pione --color false > out.txt |
out.txt | out.txt |
�[32m ==>�[0m &Anonymous:Root([],{}) �[32m -->�[0m Rule Application: &Anonymous:Root([],{}) �[32m -->�[0m Distribution: &Anonymous:Root([],{}) �[34m �[0m �[33m>>> &Anonymous:Main([],{})�[0m �[32m ==>�[0m &Anonymous:Main([],{}) �[32m SH�[0m ------------------------------------------------------------ �[32m SH�[0m echo "Hello PIONE world !" > message.txt �[32m SH�[0m ------------------------------------------------------------ �[32m <--�[0m Distribution: &Anonymous:Root([],{}) �[32m <==�[0m &Anonymous:Main([],{}) �[32m <--�[0m Rule Application: &Anonymous:Root([],{}) �[32m <==�[0m &Anonymous:Root([],{}) |
==> &Anonymous:Root([],{}) --> Rule Application: &Anonymous:Root([],{}) --> Distribution: &Anonymous:Root([],{}) >>> &Anonymous:Main([],{}) ==> &Anonymous:Main([],{}) SH ------------------------------------------------------------ SH echo "Hello PIONE world !" > message.txt SH ------------------------------------------------------------ <== &Anonymous:Main([],{}) <-- Distribution: &Anonymous:Root([],{}) <-- Rule Application: &Anonymous:Root([],{}) <== &Anonymous:Root([],{}) |
不要ファイルを削除したい
下記のコマンドでPIONE動作時に作成される作業ファイルのうち使用していないものを削除することができます。動作が遅いときやメンテナンスしたいときに使用してみましょう。
$ pione clean
デバッグ
デバッグモード実行
pioneで始まるPIONEのコマンドのほとんどは--debugを付けるとデバッグモードで起動することができます。エラー報告の情報の一つとして利用できます。
$ pione-client HelloWorld.pione --debug debug: "pione-client" has executed an item "validate_task_worker_size" at the phase "". [/Eos/pione/lib/rootage/core.rb:425:in `execute_item'] (2014-12-05T17:01:42.709+09:00, #22178) debug: "pione-client" has executed an item "stream_location" at the phase "". [/Eos/pione/lib/rootage/core.rb:425:in `execute_item'] (2014-12-05T17:01:42.710+09:00, #22178) debug: "pione-client" has executed an item "option" at the phase "init". [/Eos/pione/lib/rootage/core.rb:425:in `execute_item'] (2014-12-05T17:01:42.710+09:00, #22178) debug: "pione-client" has executed an item "argument" at the phase "init". [/Eos/pione/lib/rootage/core.rb:425:in `execute_item'] (2014-12-05T17:01:42.710+09:00, #22178) -後略-
式の評価
pione-valを使用することによって、PIONEの記述による式を評価することができます。複雑な式が正しく動作しているかシェルコマンドにてテストするときに利用できます。(参照: PIONEの式)
$ pione-val '1.2*1.5<1.3*1.4' true
アクションファイル
デバッグ方法
pione action
アクションファイルのテスト・デバッグのためにpione actionを利用することができます。
list
pione action listはアクションファイル内のルール(transition)名をリストとして出力します。
/PIONE-PNML$ pione action list Basic2/Serial2.md First Second
pione action printはアクションファイル内の指定したルール(transition)のコードを出力します。
/PIONE-PNML$ pione action print Basic2/Serial2.md First awk '{print $1*2}' {$I[1]} > {$O[1]} /PIONE-PNML$ pione action print Basic2/Serial2.md Second awk '{print $1+1}' {$I[1]} > {$O[1]}
exec
pione action execはアクションファイル内の指定したルール(transition)のコードを実行します。
/PIONE-PNML$ pione action exec Basic1/HelloWorld.md Hello /PIONE-PNML$ cat {[1]} Hello PIONE world !