今回は図もサンプルもない地味な小ネタです。Unity屋にわかりやすいサンプルになっています。同じことに関する記事があるので英語で良い方はそちらをご覧ください。andやorでConditionalを使えるよ、というお話です。これ以降は、こうしたい背景と、これで何故動くのか、のお話といたします。}みたいなのって、皆さん結構やりますよね?Conditional属性。機種固有機能や、デバグ機能を、呼び出し側をいじらずに消せて便利です。DebugLog("BUGだー!!!");#endifという具合に#ifでくくる羽目になるわけです。したら最適化の面で違いがあるのかもしれません。いう文字列を用意する負荷も削ってくれるとうれしいですからね(確認はしてませんが)。あれば、C/C++でマクロを使うのと同じことができてうれしいわけです。複数のシンボルを組み合わせたいことがあります。いうのはよくある例ではないでしょうか。開発専用の機能がONになる、という感じです。それだと呼び出し側もいじらないといけなくなります。関数定義側でどうにか複数シンボルを||や&&でつなぎたくなるわけです。いって、こんなことはできません。}動きそうな気がするんですが、ダメです。「条件を満たす時だけ関数を呼ぶ」を意味するからです。呼び出し側のコードに問題のシンボルがあるかないかで決まります。DebugLogは呼ばれてしまいます。いう事故につながるわけです。そこで、冒頭の書き方が出てきます。場合分けしてみるとわかります。UNITY_EDITORもUNITY_STANDALONEなければ、Conditionalが現れる。これらのシンボルは他のソースコードでも見てるので条件が成立し、関数が呼ばれなくなる。UNITY_EDITORかUNITY_STANDALONEがあれば、Conditionalが消える。この関数は常に呼ばれる。「絶対に定義されないシンボル」なら何でもかまいません。怖がりすぎかもしれませんね。Xと書かない自信があれば、X一文字でもいいわけです。おすすめしませんけどね。08:00C#のConditionalAttributeの条件をandやorしたいTweet関連記事2019-06-18スマホ実機でデバグ用のhttpサーバを動かしてみるこんにちは。Slackを使ったデバグ支援に...2019-01-20UnityEngine.UI.Imageが透けてる所を塗るのが許せないこんにちは。ソーシャルゲーム事業部の中島と申します。(1)月別アーカイブ検索スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。