2012年03月18日(日)
引数解析ライブラリoptimistを使ってみたよ
no titleのPopular by dependenciesで5番目に依存されている、引数解析ライブラリのoptimistを使ってみたのです。
環境:MacOS 10.7.3 / nodebrew 0.5.0 / node 0.6.13 / npm 1.1.9
簡単に試すために
aaa.jsとか適当な名前で以下を書きます。
#!/usr/bin/env node console.log( require('util').inspect( require('optimist').argv ) );
いろいろ試してみる
$ node aaa.js --aaa { _: [], '$0': node ./aaa.js, aaa: true } $ node aaa.js -a { _: [], '$0': node ./aaa.js, a: true } $ node aaa.js -a -a -a { _: [], '$0': node ./aaa.js, a: true } $ node aaa.js -a -b -c { _: [], '$0': 'node ./aaa.js', a: true, b: true, c: true } $ node aaa.js -abc { _: [], '$0': 'node ./aaa.js', a: true, b: true, c: true } $ node aaa.js -abc=123 { _: [], '$0': 'node ./aaa.js', a: true, b: true, c: '=123' } $ node aaa.js --aaa --bbb --ccc=123 --ddd ccc { _: [], '$0': 'node ./aaa.js', aaa: true, bbb: true, ccc: 123, ddd: 'ccc' } $ node aaa.js command dayo { _: [ 'command', 'dayo' ], '$0': 'node ./aaa.js' } $ node aaa.js --aaa=123 --aaa=456 --aaa=789 { _: [], '$0': 'node ./aaa.js', aaa: [ 123, 456, 789 ] } $ node aaa.js -a b -c=d { _: [], '$0': 'node ./aaa.js', a: 'b', c: '=d' }
いい感じ。イコールが付いたときとか、数値の時とかは期待する結果がちょっと違うような気もするけど、まあなんとかなるでしょう。
追記:
console.dirがあるの忘れてた……
#!/usr/bin/env node
console.dir(
require('optimist').argv
);
トラックバック - http://d.hatena.ne.jp/sasaplus1/20120318/1332060348
リンク元
- 25 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=12&ved=0CCwQFjABOAo&url=http://d.hatena.ne.jp/sasaplus1/20110829/1314622281&ei=5J5lT6PPIarJmAXi-NSpCA&usg=AFQjCNGgrcwxX8vbB2miqP6susfqB0Spgw&sig2=vXBFCiDdf_bBl8zq2ItS_A
- 24 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0CDYQFjAC&url=http://d.hatena.ne.jp/sasaplus1/20111023/1319298810&ei=VKhlT8fXBY6NmQWphM2HAg&usg=AFQjCNFFdRbQnW5kpQj9qRqcXtOgn2H4Nw&sig2=GdK7lBfAHQtn8L7Tzb-XPQ
- 23 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=29&ved=0CGMQFjAIOBQ&url=http://d.hatena.ne.jp/sasaplus1/20101120/1290183428&ei=o-VlT_G1JMPcmAXzj6j8AQ&usg=AFQjCNFXFIV0oSOz3qcaoOUi9AQSajsOlA
- 7 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CDsQFjAD&url=http://d.hatena.ne.jp/sasaplus1/?of=14&ei=bHhmT_D9EqjkmAXan_mQCA&usg=AFQjCNHZNLoqaSFJTGlGM3f98ivepiX4DQ&sig2=Y-1pbIv8PWutarm0bbi4CA
- 7 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&ved=0CFIQFjAE&url=http://d.hatena.ne.jp/sasaplus1/20111116/1321444916&ctbs=lr:lang_1ja&ei=3qBmT6ubDpCXmQX5tfirCA&usg=AFQjCNF9JnO96Gdg7hDufxB551vjbLm0qg&sig2=jybzd-ZIl9mSKhxkUCN
- 6 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=9&ved=0CHQQFjAI&url=http://d.hatena.ne.jp/sasaplus1/20110716/1310800450&ei=ZvplT96gJYzLmAWD6dijCA&usg=AFQjCNG_rRZPXvcVM2zeUD0J_dfhFGyTCw
- 6 http://www.google.co.jp/url?sa=t&rct=j&q=invalid_handle_value&source=web&cd=6&ved=0CFYQFjAF&url=http://d.hatena.ne.jp/sasaplus1/20120225/1330181005&ei=BNJlT4nuLKGtiQfZ0_nrBQ&usg=AFQjCNF7j3Fl50VGwgj8bGmDWT9ofeqgoQ
- 5 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&frm=1&source=web&cd=5&ved=0CFQQFjAE&url=http://d.hatena.ne.jp/sasaplus1/20110429/1304005683&ei=4o9lT4L4N8yXiQfTx9jOBQ&usg=AFQjCNHyh57iFNjTAH2ezddVTpy2W70s6Q&sig2=5-RQzEJi4AGob3BA0GZilQ
- 5 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=6&ved=0CE8QFjAF&url=http://d.hatena.ne.jp/sasaplus1/20120226/1330241038&ei=bfVlT9b3Iu6aiQfUgInABQ&usg=AFQjCNFctAbnh3pm-4scHIwXehQTYH4rqA&sig2=mIILdOjiQw5tB07KTK_2IA
- 4 http://q.hatena.ne.jp/1315351654
