分エクスポータとしての設計このアーカイブは同期化されません。日記が更新されても、このアーカイブには反映されません。エクスポータという名前が付く以上、データを何かしらの形でエクスポートしなければならない。出力すれば便利だろう。使って自由に操れるので。利用者としてはエクスポートした後も簡単に読めるようにしたい。ファイルとすることにしよう。俺みたいにアホ程日記を書いてると、すべての日記を連結したサイズは馬鹿にならないからだ。日記のタイトルや本文が埋め込まれて出力されるようにする。以下のようにテンプレートを作っておく。実際の内容に置き換わるってわけだ。この場合スクリプトは引数を受け取って処理する必要がある。コマンドラインのパラメータについても決めておこう。引数を自動的に処理してくれる仕組みがある。始まり、値は:の後に続けて入力する。/user:メールアドレス/password:パスワード/template:テンプレートファイル名(省略可能)出力フォルダこんなものかな。出力フォルダは名前のない引数で直接指定する。名前のない引数は、基本的に省略せず、コマンドにとって主要な情報を渡す用途として利用する。「エクスポート」コマンドなので、「出力先」が主要引数だ。名前つき引数を使って入力させることにしよう。名前つき引数は、一般的には省略可能な引数だ。テンプレートを省略した場合は既定のものを使う。管理をしていないので、メールアドレスとパスワードは省略できないのだが、まあ、名前つき引数にしておくことにしよう。名前のない引数が増えると分かりにくくなるしね。引数の処理を行うコードを書いてみる。{showErrorAndExit("エクスポート先のフォルダが指定されていません。{showErrorAndExit("メールアドレスが指定されていません。{showErrorAndExit("パスワードが指定されていません。{showErrorAndExit("テンプレートのファイル名が指定されていません。==========これで、以下のようにコマンドを実行できる。特別なサポート構文がある。日記をエクスポートします。/password:foobar</example><unnamedname="folder"helpstring="エクスポート先のフォルダ。アカウントのメールアドレス。アカウントのパスワード。"type="string"required="true"/><namedname="template"helpstring="出力に使用するテンプレートのファイル名。内容に基づいて、標準出力にヘルプが表示される。日記をエクスポートします。エクスポート先のフォルダ。アカウントのメールアドレス。アカウントのパスワード。出力に使用するテンプレートのファイル名。/password:foobarよし、外枠は整った。