Size: a a a

2021 April 14

M(

MIT/Yardanico (alt) in ru.nim.talks
let my_string = "27".to_string();  // `parse()` works with `&str` and `String`!
let my_int = my_string.parse::<i32>().unwrap();
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
let my_int: i32 = my_string.parse().unwrap()
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
Оба варианта одинаково работают
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
источник

f

for(int c; (c = getc... in ru.nim.talks
В ООП языках это не так видно так как там все через методы которые по факту та же самая перегрузка только смешанная с dynamic dispatch
источник

g

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

g

gavr in ru.nim.talks
также куда читаемее
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
Т.е. тут возвращаемый тип становится генериком
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
Нет
источник

g

gavr in ru.nim.talks
чем было бы 7 методов draw в автодополнении
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
Статически типизированный язык
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
Не было бы
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
Не нужно повторять тип в названии функции
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
Если на основе типа уже происходит вызов нужной
источник

g

gavr in ru.nim.talks
но вот вижу я функцию вызывающуюся от переменной по названию которой не понятно какого она типа
источник

g

gavr in ru.nim.talks
нужно искать откуда эта переменная пришла чтобы понять что происходит
источник

g

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

M(

MIT/Yardanico (alt) in ru.nim.talks
Нужна явность - иди в Zig :)
источник

g

gavr in ru.nim.talks
особенно в шарпах там по 8 перегрузок на все методы std, принимающие совсем разные типы
источник

f

for(int c; (c = getc... in ru.nim.talks
Ну надо не забывать что все эти тепличные ситуации когда мы забываем про то что draw_shape может имеет смысл, но вот когда я могу написать
parse(target: var int, parser: XmlParser) и
parse(target: var float, parser: XmlParser)

и не убиваться по этому поводу когда пишу макросы/генерирую код
источник