簡體   English   中英

在Linux上的Swift中生成隨機數時出錯?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM