Julia Graphs.jl ExVertex方法不匹配参数

时间:2015-11-01 21:26:56

标签: graph julia vertex

我正在尝试创建顶点,我在Graphs.jl文档中找到了一些示例,但我无法弄清楚它为什么不起作用。

using Graphs

V1 = ExVertex(1, "V1");
V1.attributes["size"] = 5.0

但是它说ExVertex没有匹配ExVertex(Int64,ASCIIString)的方法。有什么帮助吗?

1 个答案:

答案 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,现在我们将检查1typeof(1) # => Int32的实际类型,因此如果我调用该函数,则调用它,我不会得到任何错误:

V1 = ExVertex(1, "V1") # => vertex [1] "V1"

此测试提出另一个问题:“为什么我们的机器中的数字类型1不同?” 要获得正确答案,我们必须查看有关integer types

  

整数文字的默认类型取决于目标是否   系统具有32位架构或64位架构:

     

# 32-bit system: julia> typeof(1) Int32

     

# 64-bit system: julia> typeof(1) Int64

     

Julia内部变量WORD_SIZE指示目标系统是> 32位还是64位。

     

# 32-bit system: julia> WORD_SIZE 32

     

# 64-bit system: julia> WORD_SIZE 64

提示:您可以像1一样输入强制转换UInt32V1 = ExVertex(1%UInt32, "V1") # => vertex [1] "V1"