Я хотел бы знать, можно ли получить тип (int32/float64/string) из значения в Nim во время выполнения?
Я думал, что это возможно с библиотекой "typeinfo", но я не могу понять это!
EDIT: Получил ответ и сделал это очень быстро:
import typetraits
type
MyObject = object
a, b: int
s: string
let obj = MyObject(a: 3, b: 4, s: "abc")
proc dump_var[T: object](x: T) =
echo x.type.name, " ("
for n, v in fieldPairs(x):
echo(" ", n, ": ", v.type.name, " = ", v)
echo ")"
dump_var obj
Вывод:
MyObject (
a: int = 3
b: int = 4
s: string = abc
)