Avatar
omochimetaru 3/23/2017 2:34 AM
ああ
2:34 AM
いやまさにそうで
2:34 AM
kotlinのlateinitは
2:35 AM
少し前のバージョンだと NotNull<T> っていう Delegated Property っていう言語機能を使うようになっていた
2:35 AM
Delegated Property ってのは、まさにgetter/setterをオブジェクトとして差し込む仕組みで
2:35 AM
lazy var も結局は stored propertyのように見える computed propertyを作ってる仕組みだから
2:36 AM
実体が変数的なものじゃなくて関数的なものになってれば nil の再代入ができないけど未初期状態を持てる って実現できるんだよね