我試圖找出我自己的這個問題,但也許有什麼我誤解ArrayUnique
的工作方式。LotusScript ArrayUnique函數似乎不適用於日期/時間數組
下面是一些示例的LotusScript代碼:
'Let's test some dates
dateOne = CDat("12/16/2010")
dateTwo = CDat("12/16/2010")
testSuccess = (dateOne = dateTwo)
'On evaluation, testSuccess = true
'Now let's make an array ...
Dim someArray(1) As Variant
someArray(0) = dateOne
someArray(1) = dateTwo
uniqueArray = ArrayUnique(someArray)
'uniqueArray has the same two elements ... the duplicate hasn't been removed
在上述例子中,dateOne,dateTwo,testSuccess,和uniqueArray都是隱式聲明的變體的變量。
我在做什麼錯?我在閱讀the help那裏說:
使用的變量數組
元素,如果他們是同一類型的,只會比較相等。變體數組不能包含類或對象。
包含空值的數組元素將與其他空值匹配。
空的數組元素將與其他空的元素相匹配。
那麼,在本實施例中,變體數組包含變體變量,這些變量的日期/時間的類型。所以,如果我正確地閱讀這篇文章,我沒有做錯任何事情。
編輯:在Notes Forums,用戶Thoams肯尼迪嘗試了以下內容:
如果你拼寫出時間分量這樣
dateOne = CDAT(「12/16/2010上午4點20分17秒 「)
dateTwo = CDAT(」 12/16/2010上午4點20分17秒「)
它仍然會將他們視爲不同的人。似乎沒有毫秒級的組件,所以我會說ArrayUnique不知道如何處理DateTime變體。
所以他的結論是ArrayUnique umm,不起作用。
所以等待,在Notes中使用'Dim someArray(1)'聲明一個大小爲2的數組?因此,您可以將基於0的數組*的所有缺點與基於1的數組的所有缺點結合起來? AHAHAHAHAHAHAHAHAHAHAHA – 2010-12-16 19:37:07
@BlueRaja:你爲什麼笑我的痛苦? ;-) – Pandincus 2010-12-16 19:41:40
實際上,這是'Dim someArray(0到1)'的語法糖,省略了下界。你所估計的是數組的上限(假設爲下限),而不是其長度。 – 2010-12-17 02:00:54