YAPC::Asia 2010 / 前夜祭
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,090
On Slideshare
1,906
From Embeds
184
Number of Embeds
2

Actions

Shares
Downloads
14
Comments
0
Likes
1

Embeds 184

http://blog.livedoor.jp 183
http://cct.agenziapoloceramico.it 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 簡単サブコマンド YAPC::Asia 2010 前夜祭 (2010/10/14) @xaicron
  • 2. 自己紹介 名前 Yuji Shimada 嶋田 裕二 職場 DeNA Twitter @xaicron Blog http://blog.livedoor.jp/xaicron/
  • 3. サブコマンドって知ってますか?
  • 4. git add yapc-asia.2010 これね
  • 5. サブコマンドを処理するモジュール App::Cmd App::CLI CLI::Dispatch
  • 6. App::Cmd たぶんデファクト 1コマンド1モジュール 結構柔軟 usage の自動生成
  • 7. App::CLI 1コマンド1モジュール ドキュメントがなくてよくわからん usage の自動生成はない?
  • 8. CLI::Dispatch 1コマンド1モジュール usage の自動生成 Author: charsbar
  • 9. モジュール化しないとだめぽ...
  • 10. 単一のスクリプトで書きたい!!
  • 11. というわけで
  • 12. 書きました
  • 13. ボクの考えた 最強のサブコマンド処理モジュール
  • 14. Getopt::Compact::WithCmd 単一のスクリプトで定義 全体のオプションとは別に、サブコマンド ごとのオプション usage の執拗な自動生成 サブコマンドのサブコマンドのサブコマ ンドのサブコマンドの... required とか default とか Getopt::Compact とほぼ同じ使い勝手
  • 15. これをつかうと
  • 16. $ foo.pl -v bar --output baz.txt サブコマンド
  • 17. とか
  • 18. $ foo.pl bar baz hoge fuga args サブコマンド
  • 19. とかできます!
  • 20. helpコマンドや、--help オプション も自動生成されるので便利!
  • 21. Getopt::Long の spec とか (たぶん)全部使える
  • 22. Demo
  • 23. でもコマンドのDispatchは しないので自分でやってね
  • 24. おしまい