kotlin ͷ Lazy
property Lazy
value
ॳظԽͷΫϩʔδϟ
get
delegation
Slide 49
Slide 49 text
Swift Ͱͷ࣮
public class Lazy {
private let initializer: () -> T
private var _value: T!
public var value: T {
// TODO: mutex
switch _value {
case .none:
_value = initializer()
return _value
case .some(let v):
return v
}
}
public init(initializer: @escaping () -> T) {
self.initializer = initializer
}
}
public func lazy(initializer: @escaping () -> T) -> Lazy {
return Lazy(initializer: initializer)
}
Slide 50
Slide 50 text
swift kotlin
↓
Slide 51
Slide 51 text
swift kotlin
↓
Slide 52
Slide 52 text
swift kotlin
↓
(‘ω’ )
Slide 53
Slide 53 text
swift kotlin
↓
(‘ω’ )
Swift3 ·Ͱ `v[]`Ͱ͖ͨΜͩ…
͜Μͳͣ͡Όͳ͔ͬͨΜͩ…