プリプロセッサ
書ける形(4)
Section titled “書ける形(4)”| 書き方 | 説明 |
|---|---|
#nullable enable | null 安全の有効化 |
#if FLAG / #else / #endif | 条件つきコンパイル |
#if UNITY_EDITOR | 編集中だけのコード |
#region / #endregion | 折りたためる区間 |
どのシンボルが定義済みかは、ソースを取り込む側が決めます。UNITY_EDITOR を含め、定義済みのシンボルは 1 つに決まりません。
null 安全の有効化
Section titled “null 安全の有効化”書いた行から先で、null 安全の検査が効きます(null と参照)。
#nullable enableusing UnityEngine;using Tsukimi;
public class PreNullableEnable : TsukimiBehaviour{ void Start() { string s = "a"; Debug.Log(s.Length); // => 1 }}条件つきコンパイル
Section titled “条件つきコンパイル”#define FLAGusing UnityEngine;using Tsukimi;
public class PreConditional : TsukimiBehaviour{ void Start() {#if FLAG Debug.Log(1);#else Debug.Log(2);#endif }}
// 出力// 1編集中だけのコード
Section titled “編集中だけのコード”UNITY_EDITOR は編集画面のためのシンボルです。この例を通した経路では定義されていないので、囲んだ中はコンパイルされていません。
using UnityEngine;using Tsukimi;
public class PreEditorOnly : TsukimiBehaviour{ void Start() {#if UNITY_EDITOR Debug.Log(1);#endif Debug.Log(2); }}
// 出力// 2折りたためる区間
Section titled “折りたためる区間”編集画面で折りたためる区間になります。コンパイルの結果は変わりません。
using UnityEngine;using Tsukimi;
public class PreRegion : TsukimiBehaviour{#region 本体 void Start() { Debug.Log(1); // => 1 }#endregion}