サイトトップへ
OSASK.NET
  サイトトップへ       新掲示板(閉鎖済)   Wiki(凍結済)   旧掲示板(廃止済)   ニュース(廃止済)  
1: 2010-01-26 (火) 19:48:23 lina ソース 2: 2010-01-26 (火) 21:09:54 lina ソース
Line 1: Line 1:
guigui01の仕様の整理とかそういうの。 guigui01の仕様の整理とかそういうの。
 +
 +*複雑・・・ [#p64cc7bf]
 +・・・解ってきたぞ。つまり、これは単なるUsage表示だけじゃなくて、このアプリのコマンドライン引数の定義も兼ねているのか・・・
 +
 +
 +
 #include <guigui01.h>  #include <guigui01.h>
Line 9: Line 15:
     0x40 /* 最後のこれも決まり文句なので変更しない */      0x40 /* 最後のこれも決まり文句なので変更しない */
 };  };
 +
 + この設定で表示されるUsage。
 + usage>ex0012.g01 n:#
 +
 +
どうもUsage表示は関数化されているようだ。どうすれば自由にUsageが表示できるだろう・・・ どうもUsage表示は関数化されているようだ。どうすれば自由にUsageが表示できるだろう・・・
 +
 +*解析 [#n8e8b86d]
|0x86, 0x55|これは頭に付ける決まり文句らしい。(でも0x50とかが確認されている)| |0x86, 0x55|これは頭に付ける決まり文句らしい。(でも0x50とかが確認されている)|
|0x0c, 0, 'n', 0x1c, 1, '#',|これらはコマンドになるらしい| |0x0c, 0, 'n', 0x1c, 1, '#',|これらはコマンドになるらしい|
|0x40|お尻につける決まり文句| |0x40|お尻につける決まり文句|
 +
 +どうもこれでワンセットになるらしい。
 +|0x0c | (引数名の文字数-1) | (引数名) | 0x1c | (説明部分の文字数) | (説明) |
 +たとえば上の例だと・・・
 +
 +|0x0c|コマンド| |
 +|(引数名の文字数-1)|0|引数名は''n''。一個。 1 - 1 = 0|
 +|(引数名)| 'n' | 一個しか置けない。|
 +|0x1c|コマンド| |
 +|(説明部分の文字数)|1| 説明は一文字だけなので1?|
 +|(説明)|'#'| この#一文字が説明ってことかな??|
 +
 +
 +
 +*実験的に逆に考えてみる・・・ [#xaa2d4cb]
 +この部分は''Usageを表示する''んじゃなくて、そもそも''コマンドライン引数を定義する''と。~
 +で!~
 +この定義に沿って、自動的にUsageメッセージを作って表示してくれると!
 +
 +
 +**引数先頭のコマンド [#c0e9ab00]
 +|0x86, 0x55|通常モード|
 +|0x86, 0x5c, 0|引数名省略可能モード|
 +
 +http://osask.net/w/264.html
 +
 +省略が可能。
 +
 +上記 0x86, 0x5c, 0 は、 0x86, 0x50 と縮めて書くことができる。
 +
 +COLOR(blue){おそらく、0x5x の一桁目が合成できるってことだろう}
 +
 +**省略できない引数 [#qc69ba57]
 +省略したり順番が違うとエラーになってほしい引数
 +
 +|''0x0c''|(引数名の文字数-1)|(引数名)|''0x1c''|(説明部分の文字数)|(説明)|
 +|これは省略不可の引数だというサイン| | |この引数は数値であるというサイン| | |
 +|>|合成が可能。コマンドの一桁目を引数名の文字列-に置き換える| |>|合成が可能。コマンドの一桁目を引数名の文字列-に置き換える| |
 +
 +**省略可能な引数 [#a3d2f06c]
 +省略することもある引数
 +
 +|''0x1c''|(引数名の文字数-1)|(引数名)|0x1c|(説明部分の文字数)|(説明)|
 +|これは省略可能な引数だというサイン| | |この引数は数値であるというサイン| | |
 +
 +-Usage表示では自動的に [ ] で括られて表示される
 +
 +
 +**引数が文字列の場合 [#j17ad8d0]
 +
 +
 +0x0c, 0, 's', 0x3c, 3, 's', 't', 'r', /* 0x3cは文字列型引数 */
 +
 +|0x0c|(引数名の文字数-1)|(引数名)|''0x3c''|(説明部分の文字数)|(説明)|
 +|これは省略不可な引数だというサイン| | |この引数は文字列だというサイン| | |
 +
 +
 +*説明時に引数名の文字列を使う [#u78757f5]
 +引数名はよく略称を使われる。たとえば、文字列(string)の引数がほしい場合は、
 + str:
 +なんてのを使う。Usageでは、str:引数の後の説明は当然、
 + str:string
 +になる。(つまり、s と t と r がかぶっている。)
 +
 +普通にUsage表示(コマンドライン定義)をしたい場合は、
 +
 + 0x0c, 2, 's', 't', 'r', 0x3c, 6, 's', 't', 'r', 'i', 'n', 'g'
 +
 +となるが、文字が勿体ない場合、0x01 を置くと前で定義した引数名(「str」)に置換してくれる。~
 +COLOR(red){ただし注意。上記のようにベタに書くと「string]は6文字なので6を指定しているが、置換を使う場合は残りの文字数+1になる。(つまり0x01で一文字)}
 +
 + 0x0c, 2, 's', 't', 'r', 0x3c, 4, 0x01, 'i', 'n', 'g'
 +
 +
 +**改行 [#l7cd5b1a]
 +
 + 0x87,
 +
 +
 +**スイッチ [#t0414b2f]
 +引数ではなくスイッチ?な場合。
 +
 + 0x1c, 3, 'd', 'o', 'w', 'n', 0x20,
 +
 +|0x1c| 3| 'd', 'o', 'w', 'n'| 0x20|
 +|省略可能なオプションであるサイン|downなので、4-1で3| |スイッチには引数内容がないのでそのサイン|
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +*COLOR(red){オイラ的な備考} [#o91a8f8f]
 +
 +このUsage表示(コマンドライン定義)では、省略形を使う場合はかならずソースにベタ書きをのこしておくといいと思う。

トップ   差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ
新着

目次
メンバー一覧


最新の20件
2016-10-01 2016-09-08
  • @MenuBar.
2016-09-07 2016-09-04 2016-08-15 2015-09-23 2014-07-30 2014-07-04 2014-02-04 2013-10-26 2013-06-21 2013-06-17 2013-06-15 2013-04-02 2013-02-09 2013-02-04 2012-12-25 2012-12-01 2012-05-28 2012-03-31

トピック一覧
一般用コメント最新
新掲示板lina
2016/9/5 20:58
SandBoxゲスト
2016/9/4 12:01
RecentDeletedlina
2015/6/2 19:29
Old-OSASK-MLlina
2014/6/29 9:14
hideyosi/メールhideyosi
2014/1/6 20:17
hideyosi/募集中lina
2013/11/8 19:56

このサイトは川合秀実から委託を受けて、OSASKコミュニティによって管理・運営されています。