DOC@FMP7

Feed Rss

条件コンパイル

.

要約

  • 複数パートに対して記述したMMLに条件をつけてその一部のパートにのみ有効とさせたい場合に利用します。

表記

  • ? *1 : [?!:] [?:]
    

オプション

  • パラメータ 意味 範囲 省略値
    *1 パート A0~Z9/0~9 不可
  1. パート
    パート表記の記述ルールに従い、有効とするパートかMML記述チャンネルに定義されたパート順を数値で指定します。

    • パート名での指定
      有効としたいパートをパート表記で指定します。
      パートは複数列挙することが可能ですが、範囲での指定は出来ません。
    • 定義順での指定
      有効としたいパートをチャンネルに定義された順番の数値で指定します。
      順番は 0 から始まり、最大 9 まで列挙するし指定可能です。

解説

  • 複数のパートを定義したMML記述チャンネルで、一部のパートに対してのみ記述内容を有効とします。
  • 「if 有効パート then~else~endif」に相当する動作を指定可能です。
  • 一度指定した条件は、改行されるか次の条件指定が記述されるまで有効です。
  • 「else」に相当する「?!:」を記述すると、条件指定された以外のパートが有効となります。
    「endif」に相当する「?:」の記述以降は、定義されたすべてのパートが有効となります。
    行の途中で条件を変更したい場合や、元に戻したい場合に利用します。
    どちらも省略可能です。

備考

  • 定義順で指定を行なう場合は最大10パートまでとなります。
  • 指定した条件は1行内でのみ有効となり、複数行に渡る指定は出来ません。
    複数行に渡って条件をつけたい場合は、その行ごとに指定を行なって下さい。
  • 1行中であれば、何度でも指定を行なうことが可能です。

注意

  • 「else」に相当する「?!:」を指定するには、必ず条件指定が必要です。
    条件なしにいきなり指定を行なうことは出来ません。

用例

  1. if/then的な指定
    'A0B0 o4 ?A0:v110
    

    条件なしでの記述

    'A0   o4     v110
    'B0   o4
    

    定義順での記述

    'A0B0 o4 ?0:v110
    
  2. if/then/else的な指定
    'A0B0C0 o4 ?A0C0:v110 ?!:v90
    

    条件なしでの記述

    'A0      o4      v110
    'B0      o4              v90
    'C0      o4      v110
    

    定義順での記述

    'A0B0C0 o4 ?02:v110 ?!:v90
    
  3. 複雑な指定
    'A0B0C0 o4 ?A0:v110 ?!:v90 ?C0:D3 ?:l8 cde
    

    条件なしでの記述

    'A0     o4     v110                 l8 cde
    'B0     o4             v90          l8 cde
    'C0     o4             v90     D3   l8 cde
    

    定義順での記述

    'A0B0C0 o4 ?0:v110 ?!:v90 ?2:D3 ?:l8 cde
    

Comments are closed.


Top