[英]Error with Random number generation in Swift on Linux?
我有一段代碼如下:
extension Array {
fileprivate func random() -> Element {
let idx: Int
#if os(Linux)
idx = Int(random() % count)
#else
idx = Int(arc4random_uniform(UInt32(count)))
#endif
return self[idx - 1]
}
}
當我嘗試部署我的應用程序時,使用linux運行docker時出錯,問題如下:
錯誤:二進制運算符'%'不能應用於'Int32'和'Int'idx = Int(rand()%count)類型的操作數
我將這個問題跟蹤到了這個功能,但是無法解決這個問題,因為它已經意味着為Linux提供了另一種處理方式......
該錯誤表明random()
返回Int32
。 所以你需要轉換一方。
idx = Int(random()) % count
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.