0
請參閱下面的代碼片段。我有一個很好的想法是什麼錯誤,但我不知道是否有一個簡單的方法來查詢PSQ使用下劃線時,密鑰是一個元組。至少它看起來很誘人:D。Data.PSQueue:表達式上下文中的模式語法:_
main :: IO()
main = do
time <- getCPUTime
let qTuple = ("mine", 3455, msgs)
let rrq = PSQ.singleton qTuple time
let r = PSQ.lookup ("mine", _, _) rrq
print (r)
最後,我在他們的創建時間順序往IPv4地址和需要被出隊列(過了一會兒)TCP端口號的信息:(IPv4中,測試端口),(味精,的ctime )。一方面,我希望能夠查詢是否存在任何給定元組(IPv4,tport)的隊列,並根據需要創建這樣的隊列,或者在適當的時候將隊列取消排隊。
你會在你的例子是優先級,這將是關鍵?我知道在這種情況下,元組將代表優先級?按什麼順序排隊? – 2011-12-29 22:27:38
哎呀 - 我忘了PSQ不是地圖:)更新我的答案,實際上是有道理的。 – ehird 2011-12-29 22:32:29
但是請注意,如果您*確定了自己的數據類型,則可以將優先級放入它並給它一個'比較=比較優先級'的'Ord'實例。這可以讓你從PSQ查找中獲得整個數據類型,儘管有些人會反對使用'a == b'而不是'比較b == EQ'。 – ehird 2011-12-29 22:39:47