Size: a a a

2021 April 06

M(

MIT/Yardanico (alt) in ru.nim.talks
ну мб ты не так понял var
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
он всё-таки именно указывает мутабельность
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
и да, var может быть и в возвращаемом типе
источник

g

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

M(

MIT/Yardanico (alt) in ru.nim.talks
type
 Person = object
   name: string
 
proc test(self: var Person): var string =
 self.name

var person = Person()
person.test() = "asd"
echo person
источник

g

gavr in ru.nim.talks
если var именно указывает мутабельность а не объявляет переменную почему оно не как в расте let var x = 5?
источник

g

gavr in ru.nim.talks
и просто let x для иммутабл
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
а зачем оно должно быть как в расте?
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
в ниме var/let/const
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
runtime, mutable; runtime, immutable; compile-time, immutable
источник

g

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

g

gavr in ru.nim.talks
во всех типичных языках программирования var создает переменную выводя её тип, тут получается вар делает и это и указывает мутабельность если участвует в сигнатуре функции
источник

A

Alexander in ru.nim.talks
не помню этого, но описание "invisible pointer" вгоняет в ступор
источник

g

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

g

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

A

Alexander in ru.nim.talks
оно как раз как в расте let mut
источник

g

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

g

gavr in ru.nim.talks
я заменил на var шоб было как в ниме
источник

g

gavr in ru.nim.talks
раз var это не создание переменной а указатель мутабильности
источник

g

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