2017年08月28日
【unity5 三項演算子の使い方】ifから少し使いやすく?三項演算子の使い方
三項演算子って知ってますか?
使えるととても便利です。
僕の場合、「三項演算子の使い方」は
知っているんですが、
「三項演算子とは何か」を聞かれると
うーん…となってしまいます(笑)
数学とかで習いますかね…?
まぁ、それは置いといて。
三項演算子はどんな場合に使えるのか?
というと、三項演算子とは、if構文での
制御を一行にまとめたようなものです。
「条件」
「条件が成り立つ時の返り値」
「条件が成り立たない時の返り値」
これらが一行に詰まっています。
では、「返り値とは何か」を
説明します。
返り値とは、その名の通りで、
「返す値」ですね。
「関数が実行された」
「じゃあこれを返して代入しよう」
みたいな?
やっていった方が理解は
早いと思うのでやってみましょう!
まず、どの様に記述すれば良いのか
を見ていきましょう。
この様に、「?」や「:」で区切ります。
この一文は、「条件」によって変わる
値を返すことが目的です。
その為「return」が文頭に付いていますね。
何に値を返すのか?
それは三項演算子の使い方にも寄ります。
例文と一緒に見ていきましょう。
以上が例文となります。
見て分かる人は開発の再開、
見て分からない人は解説へゴー↓です。
まず、変数二つですね。
これはコメント化もしてある為
比較的分かりやすいかと思われます。
「isAlive」
型はbool型です。
生きていれば「true」が、
死んでいれば「false」が入るように
していきたいと思います。
「life」
その名の通り、「体力」です。
int型です。
floatでも良かったんですが、
intの方が扱いやすいのでintにしました。
この変数には予め100が入れてあります。
体力が100スタート、という事ですね。
次はUpdate関数です。
■isAlive = IsAlive();
こうありますね。
言葉に直すとしたら、
「isAliveには、IsAlive関数を代入」
くらいの意味でしょうか?
意味わかりませんね。
変数に、しかもbool型に関数を
代入するなんて。
それは一度置いておいて、
IsAlive関数を見に行きましょう。
ここに三項演算子が使われています。
まず、「return」ですね。
「値を返す」という意味です。
どこに返すのか?
そこで、さっきの一文が出てきます!
「isAlive = IsAlive()」←ここです!
ここに返ってきます。
それでまとめると、
「isAliveにはIsAlive関数の結果を代入する
↓
IsAlive()が分からないと代入出来ない
↓
関数の実行をしに行く
↓
関数内で『life』により、返す値を
trueとfalse間で変更
↓
returnで返す
↓
isAlive = IsAlive()に
値が返ってくる
↓
返ってきた値を『isAlive』変数に代入」
以上が一連の流れになります!
これで分かりますでしょうか?
相変わらず説明がゴミなので
理解出来ない方もいっしゃるかと……。
その時はごめんなさい…!
精進します。
それでは、また。ノシ
スポンサードリンク
使えるととても便利です。
僕の場合、「三項演算子の使い方」は
知っているんですが、
「三項演算子とは何か」を聞かれると
うーん…となってしまいます(笑)
数学とかで習いますかね…?
まぁ、それは置いといて。
三項演算子はどんな場合に使えるのか?
というと、三項演算子とは、if構文での
制御を一行にまとめたようなものです。
「条件」
「条件が成り立つ時の返り値」
「条件が成り立たない時の返り値」
これらが一行に詰まっています。
では、「返り値とは何か」を
説明します。
返り値とは、その名の通りで、
「返す値」ですね。
「関数が実行された」
「じゃあこれを返して代入しよう」
みたいな?
やっていった方が理解は
早いと思うのでやってみましょう!
三項演算子の使い方
まず、どの様に記述すれば良いのか
を見ていきましょう。
return 条件 ? 条件が成り立つ時に返す値 : 条件が成り立たない時に返す値;
この様に、「?」や「:」で区切ります。
この一文は、「条件」によって変わる
値を返すことが目的です。
その為「return」が文頭に付いていますね。
何に値を返すのか?
それは三項演算子の使い方にも寄ります。
例文と一緒に見ていきましょう。
//変数
//↓生きているかの判定に使いたい
bool isAlive;
//使う体力
//予め100を代入しておく
int life = 100;
void Update () {
isAlive = IsAlive();
}
public bool IsAlive () {
return life > 0 ? true : false;
}
以上が例文となります。
見て分かる人は開発の再開、
見て分からない人は解説へゴー↓です。
解説
まず、変数二つですね。
これはコメント化もしてある為
比較的分かりやすいかと思われます。
「isAlive」
型はbool型です。
生きていれば「true」が、
死んでいれば「false」が入るように
していきたいと思います。
「life」
その名の通り、「体力」です。
int型です。
floatでも良かったんですが、
intの方が扱いやすいのでintにしました。
この変数には予め100が入れてあります。
体力が100スタート、という事ですね。
次はUpdate関数です。
■isAlive = IsAlive();
こうありますね。
言葉に直すとしたら、
「isAliveには、IsAlive関数を代入」
くらいの意味でしょうか?
意味わかりませんね。
変数に、しかもbool型に関数を
代入するなんて。
それは一度置いておいて、
IsAlive関数を見に行きましょう。
public bool IsAlive () {
return life > 0 ? true : false;
}
ここに三項演算子が使われています。
まず、「return」ですね。
「値を返す」という意味です。
どこに返すのか?
そこで、さっきの一文が出てきます!
「isAlive = IsAlive()」←ここです!
ここに返ってきます。
それでまとめると、
「isAliveにはIsAlive関数の結果を代入する
↓
IsAlive()が分からないと代入出来ない
↓
関数の実行をしに行く
↓
関数内で『life』により、返す値を
trueとfalse間で変更
↓
returnで返す
↓
isAlive = IsAlive()に
値が返ってくる
↓
返ってきた値を『isAlive』変数に代入」
以上が一連の流れになります!
これで分かりますでしょうか?
相変わらず説明がゴミなので
理解出来ない方もいっしゃるかと……。
その時はごめんなさい…!
精進します。
それでは、また。ノシ
スポンサードリンク
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
この記事へのトラックバックURL
https://fanblogs.jp/tb/6638176
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック
※ ブログに表示されるのは、主の承認が必要なので時間がかかります!
コメントに気づかない場合もありますので、返信が遅れる場合も...