Skip to content

0.2.0

Choose a tag to compare

@zz-roba zz-roba released this 09 Aug 10:37
· 7 commits to main since this release

言語

  • 多次元配列を書けるようになりました。int[4,4]のように確保して、そのまま添字で読み書きできます。
    3次元以上と、new int[,]{{1,2},{3,4}}のような初期化子は書けません。
  • 末尾からの添字と範囲切り出しを書けるようになりました。a[^1]で最後の要素、a[1..]で途中から先を取れます。
    配列だけで、文字列には書けません。文字列は位置を数えてs[s.Length-1]、切り出しはs.Substring(m,n)で書きます。
  • タプルに対応しました。(a,b)=(c,d)の代入、(a,b)==(c,d)の等値比較、タプルの配列、foreachでの分解が
    書けます。代入先には配列の要素やフィールドも置けるので、(a[i],a[j])=(a[j],a[i])で入れ替えられます。
  • switch式にwhen句と非定数パターンを書けるようになりました。値でも範囲でも書き分けられます。
  • is型テストを書けるようになりました。objectに入れた値を、boolやint、float、stringといった型で見分けられます。
    派生のありうる参照型は今までどおり明示castで受けます。
  • ローカル関数を書けるようになりました。外のローカル変数を読むこともできます。書き戻しはできないので、
    戻り値で返して呼び出し側で代入してください。
  • ジェネリック基底を書けるようになりました。class Leaf : Baseのように、継承した時点で型が決まる形です。
    class Leaf : Baseのように型引数が具体でない形は書けません。
  • 位置パラメータを持つrecordを継承できるようになりました。
  • structとrecordに、計算するプロパティを置けるようになりました。
  • 枠組みが持っている契約を、structやrecordに実装できるようになりました。
  • structの中のenum、破棄代入、インデクサの読み、独自structのstatic readonlyも書けるようになりました。

修正

  • UdonBehaviourSyncModeを書いても、シーン上のUdonBehaviourのSynchronizationが変わりませんでした。
    0.1.9ではインスペクタで手動で選ぶ必要がありました。ソースで方式を決めている間は、
    インスペクタ側では選べない表示になります。
  • Behaviourの継承が3段目で落ちていました。2段までは動いていました。
  • externのenumへのキャストが、向きによって通ったり通らなかったりしていました。
  • 単項マイナスが、型によっては正しく解決できませんでした。
  • 型引数を集約に具体化したときに、コンパイラが内部エラーで止まっていました。
  • 走る機会が無い初期化コードが、黙って通っていました。

同梱サンプル

  • サンプルを20本に増やしました。