Julia中对象的地址

Julia中对象的地址,julia,Julia,如何将对象obj的地址作为普通字符串获取?来自_objref()函数的指针\u接近我想要的,但是当我打印结果时,我得到的是“Ptr{Void}@0x00007f3864c40038”而不是“0x00007f3864c40038”。当然,我可以简单地丢弃前11个字符,但我觉得应该有一个更优雅的解决方案 这个问题的动机是,我正在开发一个基于邻接列表的图形库,以类型为中心 immutable Vertex neighbors::Vector{Vertex} end 目前,递归打印单个顶点会打

如何将对象
obj
的地址作为普通字符串获取?来自_objref()函数的
指针\u接近我想要的,但是当我打印结果时,我得到的是
“Ptr{Void}@0x00007f3864c40038”
而不是
“0x00007f3864c40038”
。当然,我可以简单地丢弃前11个字符,但我觉得应该有一个更优雅的解决方案

这个问题的动机是,我正在开发一个基于邻接列表的图形库,以类型为中心

immutable Vertex
    neighbors::Vector{Vertex}
end

目前,递归打印单个顶点会打印整个图形,这非常不方便。相反,我希望
print(v)
生成
顶点0x00007f3864c40038

使用
repr
+
UInt64
是一种方法:

julia> a=10
10

julia> s=repr(UInt64(pointer_from_objref(a)))
"0x0000000080012230"

julia> print(s)
0x0000000080012230
使用Julia版本0.4.3进行测试


更新:在Julia version>=1.0中,可能不会对不可变对象调用,因此对于上面的示例,需要将
a
变量设置为可变类型(例如,
数组
类型):


OT,但我想你知道和。
julia> a = [1, 2, 3]
3-element Array{Int64,1}:
 1
 2
 3

julia> s=repr(UInt64(pointer_from_objref(a)))
"0x000000001214ce80"