引数解析ライブラリoptimistを使ってみたよ
http://toolbox.no.de/の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
);