Страница 9 из 19

12 дней успешности

: 11 ноя 2020, 14:48
TrollMaster
NightlyRevenger писал(а): 11 ноя 2020, 14:41
Шарп уже давно прекрасно работает на линупсе
TrollMaster писал(а): 11 ноя 2020, 14:33
на норм ОС он работает с костылями
:madtrump:

12 дней успешности

: 11 ноя 2020, 14:50
Newfag
NightlyRevenger, крч как-то так синьор свифт девелуперы такую задачу должны решать https://paiza.io/projects/ioYKcnHJufzOz ... uage=swift :ps5bug:

12 дней успешности

: 11 ноя 2020, 14:58
Newfag
NightlyRevenger, давай теперь реши ту же задачу, но с дженерик протоколами https://paiza.io/projects/XB737Fp56ra2K ... uage=swift :yoba2:

: 11 ноя 2020, 14:58
NightlyRevenger
Newfag, я осознанно забил на проверку наличия ключа в словаре словаря :ps5bug:
https://paiza.io/projects/2qJ-F14BeA_v5 ... uage=swift

Отправлено спустя 1 минуту 8 секунд:
12 дней успешности
TrollMaster писал(а): 11 ноя 2020, 14:48
NightlyRevenger писал(а): 11 ноя 2020, 14:41
Шарп уже давно прекрасно работает на линупсе
TrollMaster писал(а): 11 ноя 2020, 14:33
на норм ОС он работает с костылями
:madtrump:
Там не нужны никакие костыли :wanka:

Отправлено спустя 1 минуту 20 секунд:
12 дней успешности
Newfag писал(а): 11 ноя 2020, 14:58
NightlyRevenger, давай теперь реши ту же задачу, но с дженерик протоколами https://paiza.io/projects/XB737Fp56ra2K ... uage=swift :yoba2:
Я же не знаю свфита :ps5bug:
Сегодня первый раз в жизни его увидел и что-то на нём написал :drake:

12 дней успешности

: 11 ноя 2020, 15:02
Newfag
NightlyRevenger писал(а): 11 ноя 2020, 15:00
Сегодня первый раз в жизни его увидел и что-то на нём написал
Потому что язык простой и мощный :ps5bug:

12 дней успешности

: 11 ноя 2020, 15:03
NightlyRevenger
Newfag писал(а): 11 ноя 2020, 14:50
NightlyRevenger, крч как-то так синьор свифт девелуперы такую задачу должны решать https://paiza.io/projects/ioYKcnHJufzOz ... uage=swift :ps5bug:
Так ты написал почти тоже самое :ohyou:
А у вас там нормально вообще в качестве идентификатора типа использовать строку? :drake:

Отправлено спустя 1 минуту 26 секунд:
Newfag писал(а): 11 ноя 2020, 15:02
NightlyRevenger писал(а): 11 ноя 2020, 15:00
Сегодня первый раз в жизни его увидел и что-то на нём написал
Потому что язык простой и мощный :ps5bug:
Язык странный :uporot:
Какой смысл в конструкции:

CODE: Выделить всё

"какая-то строка".self
?

12 дней успешности

: 11 ноя 2020, 15:06
Newfag
NightlyRevenger писал(а): 11 ноя 2020, 15:03
Так ты написал почти тоже самое
Ну общие принципы те же самые (стереть типы, скастить к типам, вычислить ключ на основе типов), тут как-то кардинально по-другому и не напишешь :ps5bug:
NightlyRevenger писал(а): 11 ноя 2020, 15:03
в качестве идентификатора типа использовать строку
А что использовать? Ты вообще инт используешь, который по хэшу вычисляется :ps5bug:

: 11 ноя 2020, 15:06
NightlyRevenger
Зачем использовать self вместо this (как это делают все)
Зачем требовать обязательное использование именованных аргументов :spencer:

Отправлено спустя 2 минуты 47 секунд:
Newfag писал(а): 11 ноя 2020, 15:06
А что использовать?
Шаре есть тип Type который является объектом несущий в себе идентификатор типа и всё что с ним связанно :ps5bug:
И для всяких таких штук используют его :newfago:
А кастуя что-то в строку ты по сути отказываешь от механизмов типизации языка :huang:

Отправлено спустя 43 секунды:
Newfag писал(а): 11 ноя 2020, 15:06
тут как-то кардинально по-другому и не напишешь
Зависит от языка :ps5bug:

12 дней успешности

: 11 ноя 2020, 15:10
Newfag
NightlyRevenger писал(а): 11 ноя 2020, 15:06
Зачем использовать self вместо this (как это делают все)
Отдали дань уважения Obj-C :ps5bug:
NightlyRevenger писал(а): 11 ноя 2020, 15:06
Зачем требовать обязательное использование именованных аргументов
Лейбл можно опустить так func test(_ value: Any) и потом писать просто test(1), зато можно закастомить лейб так func test(withValue value: Any) и писать так test(withValue: 1) :ps5bug:

: 11 ноя 2020, 15:13
NightlyRevenger
Newfag, Нижнего подчёркивания я тоже не понял, как-то странно выглядит :arnoface:
Аппле любит быть никаквсе :cloud:

12 дней успешности

: 11 ноя 2020, 15:17
Newfag
NightlyRevenger писал(а): 11 ноя 2020, 15:05
Какой смысл в конструкции:
Чет даже никогда так не делал :ps5bug:
NightlyRevenger писал(а): 11 ноя 2020, 15:10
А кастуя что-то в строку ты по сути отказываешь от механизмов типизации языка
Там нет каста в строку, есть интерполяция типа в стору, типа был тип String, стала строка "String" :ps5bug:
NightlyRevenger писал(а): 11 ноя 2020, 15:10
А кастуя что-то в строку ты по сути отказываешь от механизмов типизации языка
Так тут изначально задача отказаться от типизации :ps5bug:

: 11 ноя 2020, 15:21
NightlyRevenger
Newfag писал(а): 11 ноя 2020, 15:17
Чет даже никогда так не делал
Я не понимаю, почему так вообще можно сделать, если self это эквивалент this (но похоже, что нет )
Newfag писал(а): 11 ноя 2020, 15:17
Там нет каста в строку, есть интерполяция типа в стору, типа был тип String, стала строка "String"
Под кастом я имел ввиду не тупо каст типа объекта, а какое-то преобразование каких-то значений в строку :omar:
Newfag писал(а): 11 ноя 2020, 15:17
Так тут изначально задача отказаться от типизации
В любитель строгой типизации, и такие вещи мне неприятны :yoba:(:

Отправлено спустя 3 минуты 13 секунд:
Твоя задачка по сути своей - это написать простенький DI, но если в шарпе такое делать, то там это через интерфейсы делается, что позволяет сохранить хоть какую-то типизацию (но я хотел бы большего, да) :arnoface:

12 дней успешности

: 11 ноя 2020, 15:26
TrollMaster
NightlyRevenger писал(а): 11 ноя 2020, 15:00
Там не нужны никакие костыли
Mono и есть костыль, лагнутый и багнутый :ps5bug:
По крайней мере был, когда я его ставил лет 5 назад

: 11 ноя 2020, 15:26
NightlyRevenger
TrollMaster, какой нахуй моно, ты так и застрял 5 лет назад :facepalm:

12 дней успешности

: 11 ноя 2020, 15:27
TrollMaster
NightlyRevenger, ну-ка ну-ка, что у нас там?

: 11 ноя 2020, 15:28
NightlyRevenger
TrollMaster, .net core

12 дней успешности

: 11 ноя 2020, 15:35
Newfag
NightlyRevenger писал(а): 11 ноя 2020, 15:24
self это эквивалент this
self возвращает себя, так что нормально сделать 1.self, правда хз зачем :kojima: С типами еще понятно, потому что нельзя просто заюзать String, это будет как инстанс, а через String.self получаешь сам тип.
NightlyRevenger писал(а): 11 ноя 2020, 15:24
Под кастом я имел ввиду не тупо каст типа объекта, а какое-то преобразование каких-то значений в строку
Где там преобразования значения в строку? :kojima: Тип Any можно пытаться преобразовать во что угодно, но например let i = 1; let s = i as? String; не скастишь, компилятор напишет варнинг.
NightlyRevenger писал(а): 11 ноя 2020, 15:24
Твоя задачка по сути своей - это написать простенький DI
Да, DI обычно так и пишутся, есть еще DI от убера, где используется кодогенерация, но эт уже другое :ps5bug:
NightlyRevenger писал(а): 11 ноя 2020, 15:24
позволяет сохранить хоть какую-то типизацию
На клиентской стороне сохраняется вся типизация, а под капотом синьер девелуперы стирают типы и кастят обратно :ps5bug:

12 дней успешности

: 11 ноя 2020, 15:37
TrollMaster
NightlyRevenger писал(а): 11 ноя 2020, 15:28
.net core
Загуглил, по отзывам вроде норм сделали

: 11 ноя 2020, 15:39
NightlyRevenger
Newfag писал(а): 11 ноя 2020, 15:35
Где там преобразования значения в строку?

CODE: Выделить всё

let key = "\(Model.self)_\(View.self)"

CODE: Выделить всё

let key = "\(Model.self)_\(View.self)"
:ohyou:

12 дней успешности

: 11 ноя 2020, 15:42
Newfag
NightlyRevenger писал(а): 11 ноя 2020, 15:39
let key = "\(Model.self)_\(View.self)"
Так это не значения, а типы, посмотри что выводится https://paiza.io/projects/pLWq4-giSmq7s ... uage=swift :ps5bug: