如何解决在Julia中键入数组元素的逻辑是什么
我想在Julia中使用一组整数集,但是当我查看每个元素的类型时,它不是一个Set,为什么?
typeof(fill(Set{Int64}[],3)[2])
返回
Array{Set{Int64},1}
不是
Set{Int64}
例如,如果我使用原始类型,
typeof([1,2][1]) # returns Int64
但是
typeof([Set{Int64}[],Set{Int64}[]][1]) # returns Array{Set{Int64},1}
为什么有一个数组包含Set {Int64}
解决方法
您写了
typeof(fill(Set{Int64}[],3)[2])
Set{Int}[]
是另一种编写Vector{Set{Int}}
的方式。
通常,当在Int128[1,2,3]
您可能希望Set{Int}()
来获得一套。
选中typeof(fill(Set{Int64}(),3)[2])
但是这将用3个对同一集合的引用填充数组。因此,变异一个将全部变异。 很少你想要的。
可能您真正想要的是:
[Set{Int}() for _ in 1:3]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。