Обновить

Комментарии 2

Рисовать исправленную имплементацию конечно хорошо, но примеров использования определённо не хватает. Например, вот тут

Во-первых, мы передаём дефолтное значение как замыкание. Это важно: во второй версии код справа от ?? выполнится только при отсутствии значения в опционале.

Это должно быть что-то вроде:

let val : MyOptional<int> = nil;
let raw = val??33; // или как оно должно выглядеть?

Прилагаю пример:

class Nemo {
    
    let nilValue: MyOptional<Int> = nil
    var someValue: Int = 10
    
    func todo() {
        someValue = nilValue ?? 20
    }
}
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации