プリプロセッサ
| 書き方 | 説明 | 注意 |
|---|---|---|
#nullable enable | null 安全の有効化 | |
#if FLAG / #else / #endif | 条件つきコンパイル | |
#if UNITY_EDITOR | 編集中だけのコード | この例を通した経路では定義されていないので、囲んだ中はコンパイルされていません。 |
#region / #endregion | #region による折りたたみ | コンパイルの結果は変わりません。 |
| 定義済みのシンボル | コンパイルを実行する環境が決めます。UNITY_EDITOR を含め、1 つに決まりません |
ディレクティブ
Section titled “ディレクティブ”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); // => 1#else Debug.Log(2);#endif }}編集中だけのコード
Section titled “編集中だけのコード”UNITY_EDITOR は Unity エディタのためのシンボルです。
using UnityEngine;using Tsukimi;
public class PreEditorOnly : TsukimiBehaviour{ void Start() {#if UNITY_EDITOR Debug.Log(1);#endif Debug.Log(2); // => 2 }}#region による折りたたみ
Section titled “#region による折りたたみ”コードエディタで折りたためるようになります。
using UnityEngine;using Tsukimi;
public class PreRegion : TsukimiBehaviour{#region 本体 void Start() { Debug.Log(1); // => 1 }#endregion}