Size: a a a

2021 May 24

g

gavr in ru.nim.talks
источник

g

gavr in ru.nim.talks
наконец то хоть какое то подобие интерфейсов
источник

g

gavr in ru.nim.talks
А то функции для gtk вот так выглядят
источник

g

gavr in ru.nim.talks
а будет один концепт Buildable и все будут реализовывать, полагаю
источник

A

Alexander in ru.nim.talks
а почему простые дженерики не работают?
источник

A

Alexander in ru.nim.talks
в том плане, что в Nim они же unconstrained
источник

g

gavr in ru.nim.talks
а в чем будет разница? тоже перечисление но в ограничениях дженерика
источник

g

gavr in ru.nim.talks
так какой смысл в дженерике без ограничений, он ничего не говорит о себе, пока не впихнешь неподходящий тип
источник

A

Alexander in ru.nim.talks
ну да, он вылетит дальше конечно
источник

g

gavr in ru.nim.talks
А нужно именно интерфейс, вот тут например все они "GtkBuildable allows objects to extend and customize their deserialization from ui files."
источник

g

gavr in ru.nim.talks
Вообще удивительно что за 14 лет ничего похожего на интерфейсы не появилось, обычно наоборот в новых языках
источник

g

gavr in ru.nim.talks
ооп нет, но интерфейсы в том или ином виде всегда есть
источник

A

Alexander in ru.nim.talks
а нельзя написать type Buildable = Icon | Dialog | ...    ?
А в функции просто self: Buildable
источник

A

Alexander in ru.nim.talks
или тут какая-то фишка именно в ооп ?
источник

A

Alexander in ru.nim.talks
источник

g

gavr in ru.nim.talks
хмммм, если оно будет через тип сумму, то что будет когда вызовут метод у C который есть у A но нет у B, при том под C сейчас B
источник

g

gavr in ru.nim.talks
сложна, но вроде бы не подойдет
источник

VB

Vladimir Berezenko in ru.nim.talks
я и говорю, что-бы только ни придумать, лишь-бы ООП не реализовывать, но продолжать пытаться им пользоваться...
источник

A

Alexander in ru.nim.talks
я не уверен, что это тип-сумма как её понимаем обычно, это просто алиас по сути (наверное)
источник

g

gavr in ru.nim.talks
в любом случае концепты на порядок лучше, когда у тебя будут сложные цепочки реализаций интерфейсов, ето получается будет тип сумма  C = A|B
а когда чтото будет реализовывать A и B и D то это что, F = C|D или еще хуже F = A|B|D, короч ненене, жуть, нужно обычное объединение методов в одну структурную единицу, у go вроде найс получилось
источник