[過去ログ] 【3Dゲームエンジン】Unity質問スレッド32 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
391: 2017/11/25(土)19:39 ID:tNOe2BPS(1/9) AAS
「キムチ君、制作物は細かい所手抜きなのに言葉は潔癖かよ!」と思いながらROMってる皆さんこんばんは。
講義のお時間です。
今回も"条件分岐"についての講義です。
前回は「if文」を使いました。
今回はもう一つの条件分岐文である「switch文」をやります。
394: 2017/11/25(土)19:57 ID:tNOe2BPS(2/9) AAS
前回、"if(){ } else if(){ }"の説明で下のような例を出しました
例
if( a == 1 ){
Debug.Log("aは1");
} else if( a == 2 ){
Debug.Log("aは2");
} else if( a == 3 ){
省21
397: 2017/11/25(土)20:05 ID:tNOe2BPS(3/9) AAS
見て分かる通りswitch文で出来る事はif文でも可能です。
そのせいでswitchって使い所がイマイチわからないという初心者が多いです。
switch文はif文の簡易バージョンと思ってください。
「switch( a >= 1 )」とか
「switch( a == 1 )」とか
「switch( a == 1 && b == 1)」とか
if文並みの複雑な条件式は記述できません(エラーになります)
省4
398: 2017/11/25(土)20:17 ID:tNOe2BPS(4/9) AAS
"default:"は"case"のどれにも一致しなかった場合に実行される部分です。
if文のelseに相当します。
if文でelseを書かない事が出来たように不要ならば"default:"も書かなくて大丈夫です。
例
switch( a ){
case 1:
Debug.Log("aは1");
省21
399: 2017/11/25(土)20:25 ID:tNOe2BPS(5/9) AAS
"break;"は重要です。
下に"case 1:"の"break;"を削除した例を書きます。
例
switch( a ){
case 1:
Debug.Log("aは1");
case 2:
省15
400(1): 2017/11/25(土)20:27 ID:tNOe2BPS(6/9) AAS
<switch文の中にさらにswitch文の例>
int a = 1, b = 1;
switch( a ){
case 1:
switch( b ){
case 1:
Debug.Log("aは1でさらにbは1");
省16
401: 2017/11/25(土)20:28 ID:tNOe2BPS(7/9) AAS
これは書き途中で送信したミス投稿なので無視するように>>400
402(1): 2017/11/25(土)20:32 ID:tNOe2BPS(8/9) AAS
<switch文の中にさらにswitch文の例>
int a = 1, b = 1;
switch( a ){
case 1:
switch( b ){
case 1:
Debug.Log("aは1でさらにbは1");
省23
403(1): 2017/11/25(土)20:37 ID:tNOe2BPS(9/9) AAS
複雑になってきましたね
実は>>402の
「<switch文の中にさらにswitch文の例>」には"break;"が1つ抜けており
「a = 1」の時の結果が正しくならないバグを今見つけました。
このように見づらい&ミスをしやすくなるため
switch文の中にさらにswitch文を入れる事はあまり良い方法とはいえず推奨はされていません。
以上だクソども
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.032s