Size: a a a

2020 June 20

Dv

Dr. Friedrich von Ne... in codingteam
Ingvar Jackal
они не вычисляются вообщ
А как из 2 + 2 получилось 4?
источник

IJ

Ingvar Jackal in codingteam
потому что print заставил вычислить
источник

IJ

Ingvar Jackal in codingteam
а без print не вычислялись бы
источник

Dv

Dr. Friedrich von Ne... in codingteam
Ок, а если потом сделать a := 3; Print[sum]?
источник

Dv

Dr. Friedrich von Ne... in codingteam
Ingvar Jackal
а без print не вычислялись бы
На самом деле, у нас тут та же проблема, что и у линейных типов.
источник

Dv

Dr. Friedrich von Ne... in codingteam
Мы ни хера не можем понять, что такое «использование переменной».
источник

IJ

Ingvar Jackal in codingteam
Dr. Friedrich von Never
Ок, а если потом сделать a := 3; Print[sum]?
источник

Dv

Dr. Friedrich von Ne... in codingteam
Dr. Friedrich von Never
Или на самом деле всё тупо и прозаично, и каждое повторное использование переменной просто перевычисляет вообще все термы?
Получается, что вот тут я прав, но «использование» в данном контексте делает только Print.
источник

Dv

Dr. Friedrich von Ne... in codingteam
А free[a] просто бы распечатал free[4] и не освободил бы ни хера никаких указателей!
источник

Dv

Dr. Friedrich von Ne... in codingteam
Кажется, что линейные типы и математика — несовместны.
источник

g

gsomix in codingteam
Dr. Friedrich von Never
Окей. А вот эта вот фигня с двойным присваиванием a как-то объясняется местной семантикой?
Конечно. := — это особая операция, SetDelayed.
источник

Dv

Dr. Friedrich von Ne... in codingteam
Ого!
источник

g

gsomix in codingteam
Такое значение вычисляется каждый раз заново.
источник

Dv

Dr. Friedrich von Ne... in codingteam
А можно не delayed?
источник

g

gsomix in codingteam
Через обычное присваивание.
источник

IJ

Ingvar Jackal in codingteam
можно, но тогда меняться не будет
источник

Dv

Dr. Friedrich von Ne... in codingteam
То есть уггурец с самого начала нас водил за нос?
источник

g

gsomix in codingteam
Как обычно.
источник

IJ

Ingvar Jackal in codingteam
вовсе нет
источник

Dv

Dr. Friedrich von Ne... in codingteam
А вот и да!
источник