gpt4 book ai didi

julia - 遍历Julia中复合类型的字段

转载 作者:行者123 更新时间:2023-12-04 11:20:29 25 4
gpt4 key购买 nike

遍历Julia中复合(用户定义)类型的字段的最佳方法是什么?
假设我定义了以下结构并创建了一个实例:

struct Foo
bar
baz::Int
qux::Float64
end
foo = Foo("Hello, world.", 23, 1.5)
如何遍历所有字段,例如将字段及其值打印到REPL?我有一个带有多个字段的类型,但我不想显式地命名每个字段。谢谢

最佳答案

fieldnames(typeof(foo))为您提供名称的Vector{Symbol},并且foo.降低为getfield(foo,...)。所以你只是:

julia> for n in fieldnames(typeof(foo))
println(getfield(foo,n))
end
Hello, world.
23
1.5
这显然对性能不利,因为此处无法进行类型推断(从中获取字段的类型取决于 n的值)。

关于julia - 遍历Julia中复合类型的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41708418/

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