我正在尝试创建顶点,我在Graphs.jl文档中找到了一些示例,但我无法弄清楚它为什么不起作用。
using Graphs
V1 = ExVertex(1, "V1");
V1.attributes["size"] = 5.0
但是它说ExVertex没有匹配ExVertex(Int64,ASCIIString)的方法。有什么帮助吗?
答案 0 :(得分:1)
首先让我检查ExVertex()
函数的参数类型,使用?
命令获取帮助:
help?> ExVertex
search: ExVertex
No documentation found.
Summary:
type Graphs.ExVertex <: Any
Fields:
index :: Int32
label :: UTF8String
attributes :: Dict{UTF8String,Any}
因此,在我的计算机上index
必须是Int32
,现在我们将检查1
:typeof(1) # => Int32
的实际类型,因此如果我调用该函数,则调用它,我不会得到任何错误:
V1 = ExVertex(1, "V1") # => vertex [1] "V1"
此测试提出另一个问题:“为什么我们的机器中的数字类型 整数文字的默认类型取决于目标是否
系统具有32位架构或64位架构: Julia内部变量WORD_SIZE指示目标系统是> 32位还是64位。 提示:您可以像1
不同?”
要获得正确答案,我们必须查看有关integer types的
# 32-bit system: julia> typeof(1) Int32
# 64-bit system: julia> typeof(1) Int64
# 32-bit system: julia> WORD_SIZE 32
# 64-bit system: julia> WORD_SIZE 64
1
一样输入强制转换UInt32
:
V1 = ExVertex(1%UInt32, "V1") # => vertex [1] "V1"