マクロの組み方Part9(If-else文、比較演算子、論理演算)
今回はプログラミングでよく使うIf文について紹介します。
条件分岐の時に用いるのがIf文で
If(条件)
条件成立の場合に実行する内容
else
条件不成立の場合に実行する内容
endif
条件成立の場合に実行する内容
else
条件不成立の場合に実行する内容
endif
の形で用います。
他のプログラミングで用いるelseifはマクロでは用いることが出来ません。(ユーザー定義関数では用いることができます。)
If文の例
Macro example_of_if(a,b,c,d)
Variable a,b,c,d
Prompt a,"Enter number freely"
Prompt b,"Enter number freely"
Prompt c,"Enter number freely"
Prompt d,"Enter number freely"
if(a==b && c==d)
print "same!!"
else
print "Not same!!"
endif
End
Variable a,b,c,d
Prompt a,"Enter number freely"
Prompt b,"Enter number freely"
Prompt c,"Enter number freely"
Prompt d,"Enter number freely"
if(a==b && c==d)
print "same!!"
else
print "Not same!!"
endif
End
全ての数が同じなら"same!!"ひとつでも違えば"Not same!!"が出力される
以下に条件としてよく用いる演算子を載せておきます。
参考にしてください。
比較演算子
a==b :aとbが等しい
a!=b :aとbが等しくない
a>b :aよりbの方が小さい
a<b :aよりbの方が大きい
a>=b :aはb以下
a<=b :aはb以上
a!=b :aとbが等しくない
a>b :aよりbの方が小さい
a<b :aよりbの方が大きい
a>=b :aはb以下
a<=b :aはb以上
論理演算子
a==b || c==d :a=b”または”c=d
a==b && c==d :a=b”かつ”c=d
a==b && c==d :a=b”かつ”c=d
マクロの組み方part8(マクロの動作を早くする silent 1)
前回紹介したdo-whileループなどたくさん処理する場合、マクロの動作が終わるまでかなり時間がかかる事があります。
そんな時にマクロに書いておきたいのが
Silent 1
です。
これを書いておくと、マクロ実行中にはコマンドラインにsilent 1と表示されます。
silent 1と書いていなかったら、実行しているコマンドが次々と表示されてしまうので、処理する内容が増えてしまい、結果として時間がかかってしまいます。
ただし、注意点としてPromptコマンドを用いる時は、Promptコマンドよりも後にSilent 1を書いてください。
マクロの処理内容の多い少ないに限らず、silent 1を書くことを習性にすると良いと思われます。
前 マクロの組み方part7(Waveの作成とdo-whileループ2) - Igorの解説とか
次 マクロの組み方Part9(If-else文、比較演算子、論理演算) - Igorの解説とか