5
我一直在困惑這一個大約過去一小時,頭髮枯竭。斯威夫特錯誤「不能下標值類型[Uint8]」
我在與AdventOfCode.com第4天的樂趣(10/10,將再次扮演),並希望這個小功能工作。 (請不要評論我的代碼有多麼美麗,它本意是快速和骯髒的,但它現在只是骯髒的,哎呀,我甚至不知道代碼是否有工作的機會。 ...)
func countDigestLeadingZeros(theDigest:[UInt8]) -> Int {
var theCount: Int = 0
print(theDigest[0])
while ((theCount < 16) && (countLeadingZeroNybbles(theDigest[theCount] as Int)>0)) {
theCount++
}
return theCount
}
在theDigest[theCount]
將出現錯誤,並且「不能下標類型的‘[UINT8]’的值」。雖然不熟悉Swift,但我很確定它告訴我的是,我不能在UInt8s的數組上使用索引(任何類型)。但請注意,print(theDigest[0])
行不會導致錯誤。
我已經用Google搜索了這個,但是我錯過了顯而易見的解決方案,或者無法解釋我發現的結果,其中大部分似乎與這樣一個看似簡單的問題無關。
神聖莫里,但這是晦澀難懂的。並感謝提供分離表達的提示。我已經遠離編程這麼長時間了,我忘記了一些最基本的故障排除方法。 – BillEccles