gpt4 book ai didi

julia - Julia 中的 getattr() 相当于什么

转载 作者:行者123 更新时间:2023-12-02 00:39:20 24 4
gpt4 key购买 nike

Julia 中 Python 的 getattr() 的等价物是什么?我尝试了以下元编程代码,但它仅适用于全局范围,而不适用于函数范围。

type A
name
value
end

a = A("Alex",1)
for field in fieldnames(a)
println(eval(:(a.$field)))
end

这将打印出:

Alex
1

但是,如果上面的内容在函数作用域内,那么它将不起作用

function tmp()
a = A("Alex",1)
for field in fieldnames(a)
println(eval(:(a.$field)))
end
end

tmp()

错误是:

ERROR: LoadError: UndefVarError: a not defined

编辑:感谢大家回答问题。以下是 Julia 文档的链接 getfieldsetfield! .

最佳答案

您想使用getfield .

julia> function tmp()
a = A("Alex",1)
for field in fieldnames(a)
println(getfield(a, field))
end
end
tmp (generic function with 1 method)

julia> tmp()
Alex
1

关于julia - Julia 中的 getattr() 相当于什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35436545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com