Size: a a a

iOS Developers — русскоговорящее сообщество

2021 December 13

IS

Igor Smirnov in iOS Developers — русскоговорящее сообщество
а зачем его привязывать к addictable, когда этой привязки требует не сам тип, а только функция?
источник

S

Svyatoslav in iOS Developers — русскоговорящее сообщество
description инт чисел
источник

В

Вовка in iOS Developers — русскоговорящее сообщество
Окей, почему тогда не так?

Уберём “привязку”
источник

В

Вовка in iOS Developers — русскоговорящее сообщество
Окей, как взять none из твоего опционала. Или как взять value
источник

IS

Igor Smirnov in iOS Developers — русскоговорящее сообщество
вот так уже лучше, мне нра
вот мой вариант который по сути и ты предложил:
enum O<T> { case none, some(T) }
protocol Addictable { static func +(l: Self, r: Self) -> Self }

extension O where T: Addictable {
   static func +(_ a: Self, _ b: Self) -> Self where T: Addictable {
       switch (a, b) {
       case let (.some(aa), .some(bb)): return O<T>.some(aa + bb)
       default: return .none
       }
   }
}

// magic is here
extension Int: Addictable { }
let v1 = O.some(123)
let v2 = O.some(234)
v1 + v2 // 357
источник

IS

Igor Smirnov in iOS Developers — русскоговорящее сообщество
через extension к O<T>
источник

В

Вовка in iOS Developers — русскоговорящее сообщество
extension O where T: Addictable {

Так ты сделал тоже самое, что я тебе выше предлагал.

ахах

https://t.me/ios_ru/488989
источник

В

Вовка in iOS Developers — русскоговорящее сообщество
Зачем ты два раза сделал where T: Addictable? 🤦🤦🤦🤦
источник

IS

Igor Smirnov in iOS Developers — русскоговорящее сообщество
я просто к чему? к тому что мне лично не нравится жесткая привязка типов к каким-то особым типам, протоколам. для всего этого есть protocol-oriented
источник

IS

Igor Smirnov in iOS Developers — русскоговорящее сообщество
ой все)
источник

В

Вовка in iOS Developers — русскоговорящее сообщество
Так ты привязал сумму к Addictable, по сути, туда не запихнуть ничего, кроме Addictable.

и тут же говоришь что не нравится жесткая привязка?
источник

В

Вовка in iOS Developers — русскоговорящее сообщество
Получилось достать none из енума?
источник

В

Вовка in iOS Developers — русскоговорящее сообщество
Не парься, я просто решил докопаться. Всё норм. Внимательнее читай собеседника 🙂
источник

IS

Igor Smirnov in iOS Developers — русскоговорящее сообщество
привязки к O<T>  нет. можно создать O<NSObject>. только + не получится выполнить, пока не реализуешь функцию + для него. указывая Addictable в своем O<T> ты заранее себя ограничиваешь. короч, мне надоело уже расписывать прописные истины. хотел помочь просто. и, замечу, не тебе
источник

В

Вовка in iOS Developers — русскоговорящее сообщество
🙂 У тебя противоречие. Но ок, надоело так надоело)
источник

S

Svyatoslav in iOS Developers — русскоговорящее сообщество
меня отвлекли, но я снова здесь, секунду
источник

S

Svyatoslav in iOS Developers — русскоговорящее сообщество
ну если переменной присвоено значение none то оно просто вернет none
а если число то вернет some(число)
источник

В

Вовка in iOS Developers — русскоговорящее сообщество
Угу, и как эти два енума рассмотреть в моменте, чтобы сделать вычисления в необходимых случаях?
источник

S

Svyatoslav in iOS Developers — русскоговорящее сообщество
ну я сначала думал взять rawValue
но не работает
источник

В

Вовка in iOS Developers — русскоговорящее сообщество
Но не вариант, да.
источник