如何将对象obj
的地址作为纯字符串获取? pointer_from_objref()
函数接近我想要的,但是当我打印结果时,我得"Ptr{Void} @0x00007f3864c40038"
而不是"0x00007f3864c40038"
。当然,我可以简单地丢弃前11个字符,但我觉得应该有一个更优雅的解决方案。
这个问题的动机是我正在研究基于邻接列表的图库,以类型为中心
immutable Vertex
neighbors::Vector{Vertex}
end
目前,打印单个顶点会递归打印整个图形,这非常不方便。相反,我希望print(v)
得到Vertex 0x00007f3864c40038
。
答案 0 :(得分:7)
使用repr
+ UInt64
是一种方式:
julia> a=10
10
julia> s=repr(UInt64(pointer_from_objref(a)))
"0x0000000080012230"
julia> print(s)
0x0000000080012230
使用Julia Version 0.4.3