2017-05-07 54 views
2

如何從隊列實例中提取類型?在茱莉亞,如何從實例DataStructures.Queue(T)中提取類型T?

Array

對於一個數組我可以做到這一點。

朱莉婭> A = UInt32的[]

0-元件陣列{UInt32,1}

朱莉婭> eltype的(a)

UInt32的

的Deque

對於德克,這個解決方法的作品。

朱莉婭>使用數據結構

朱莉婭> d =的Deque {UInt32的}()

的Deque [UInt32的[]]

朱莉婭> eltype(收集(d))

UInt32的

隊列??

我應該怎麼做才能從隊列q中提取類型UInt32?

朱莉婭>使用數據結構

朱莉婭> Q = DataStructures.Queue(UInt32的)

DataStructures.Queue {UInt32的}(的Deque [UInt32的[]])

+0

另一個黑客:typeof(q).parameters [1]' –

回答

3

我不知道爲什麼他們不」噸有eltype - 實施似乎相當簡單:

julia> q = Queue(Int) 
DataStructures.Queue{Int64}(Deque [Int64[]]) 

julia> import Base: eltype 

julia> Base.eltype{T}(::DataStructures.Queue{T}) = T 

julia> eltype(q) 
Int64 

,因爲它似乎在許多類型,Iterator接口AR的optional methods缺失。也許他們太新了。