Size: a a a

2021 April 06

g

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

g

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

g

gavr in ru.nim.talks
получается тут var це боксинг
источник

A

Alexander in ru.nim.talks
я не очень уверен что-то, боксинг именно ref
источник

g

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

M(

MIT/Yardanico (alt) in ru.nim.talks
это не только под случаи
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
ещё помогает с тем, если тебе вдруг нужно взять значение из ref типа
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
если у него нет obj типа, то будет что-то типа "MyRefType:ObjectType"
источник

g

gavr in ru.nim.talks
всмысли взять значение из ref типа?
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
var res = myref[]
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
какой тип у res ? :)
источник

g

gavr in ru.nim.talks
что значит [] тут?
источник

M(

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

A

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

M(

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

M(

MIT/Yardanico (alt) in ru.nim.talks
type
 Person = ref object
   name: string

let p = Person()

var res = p[]
echo typeof(res)
источник

g

gavr in ru.nim.talks
уххх, ват
источник

M(

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

M(

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

M(

MIT/Yardanico (alt) in ru.nim.talks
type
 PersonObj = object
   name: string
 Person = ref PersonObj

let p = Person()

var res = p[]
echo typeof(res)
источник