12
Tôi muốn biết nếu có thể nhận được loại (int32/float64/string) từ một giá trị trong Nim tại thời gian chạy?Cách lấy loại giá trị dưới dạng chuỗi?
Tôi nghĩ điều này có thể thực hiện được với thư viện "typeinfo" nhưng tôi không thể hiểu được!
EDIT: Got một câu trả lời và thực hiện điều này thật nhanh chóng:
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
Output:
MyObject (
a: int = 3
b: int = 4
s: string = abc
)
Cảm ơn bạn! Yêu nó :) – OderWat