スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
if 文について③
大好評の Mel 講座。

今回も if 文についてです。
毎回名目上は初心者向けの講座として書いていますが、
今回は少し難しいかもしれないので分からない所は読み飛ばしても問題ありません。
余裕があれば理解してみましょう。

if 分の条件式の中は、正しいか間違っているかの2択、つまり boolean 型です。
例えば、3 < 5 というのは正しいので true (真)、
3 > 5 は間違っているので false (偽)ですね。
したがって、

if(true)



if(on)

などとすればこの中は必ず実行されるし

if(false)



if(off)

とすればこの中は必ず実行されません。

以前、true と 1,false と 0 は同じであるというようにご説明しましたが、
実は 0 以外の数は全て true と同じ意味になります。

したがって例えば

if(3)

これも中は必ず実行されます。

結局何が言いたいのかと言うと、以下のような書き方ができるという事です。

if(`size $array`)

size は配列を引数にするとその長さ(要素数)を返すコマンドなので、
これは「もし$arrayに1つでも要素があるなら」という意味になります。

つまり

if(`size $array` != 0)

と同じ意味ですね。

前回の『否定』と組み合わせて

if(!`size $array`)

とすれば「もし$arrayに1つも要素がないなら」という意味になります。

つまり

if(`size $array` == 0)

と同じ意味ですね。

何かツールを作る上でこの様な文を書く事は非常に多いです。

仮に、例えば

{
string $selList[] = `ls -sl`;
duplicate $selList[0];
}

この様なプログラムを書いてしまったら
何も選択されていない時にエラーが起きてしまうので、
「もし$selListに1つでも要素があれば」という記述が必要になるのです。

私もまだ偉そうに言える立場ではありませんが、
特に他人に配布するツールを作るならこの様に常にエラーを避ける書き方が必須になります。
今回の内容は少し難しかったかも知れませんが、この事だけは是非覚えておいてくださいね。

参考:
 Graberry Blog : boolean 値について①
 Autodesk Maya オンラインヘルプ : ブーリアン値
 Autodesk Maya オンラインヘルプ : if...else if...else
 Autodesk Maya オンラインヘルプ : size コマンド

演習:
 実行した時にもし何かが選択されていれば
 その中の1つを duplicate するようなプログラムを書いてください。
コメント
管理者のみ閲覧可能にする
Profile
HN らい

都内某社テクニカルディレクター
都内某専門学校講師
都内某企業講師
元中国某社S3Dスーパーバイザー
Contact
(ENGLISH OK. 可以用中文。)
Categories
Archives
RSS Link
QR Code