Swift map 编译错误

标签 swift

下面是我的 swift 函数,用于计算 0 到“upto”范围内给定实数集的倍数之和。该算法从 1 循环到上限,并将倍数数组映射到指定乘数的模数数组,然后使用乘法减少该数组,这样如果 i 的给定值可以被任何给定乘数整除,则归约的结果将为 0。

func sumOfMultiples(mults: [Int], upto: Int) -> {
  var acc: Int = 0
  for i in 1...upto {
      if mults.map({i % $0}).reduce(1,*) == 0 {
          acc += i
      }
  }
  return acc
}

问题是我遇到编译错误

 error: 'Int' is not a subtype of '()'
    if mults.map({i % 0}).reduce(1,*) == 0 {

最佳答案

// Methinks you're missing this:        ~~~~~~~~vvv
func sumOfMultiples(mults: [Int], upto: Int) -> Int {

关于Swift map 编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29131951/

相关文章:

ios - 透明 查看颜色从黑色到其他颜色?

ios - 在道路上随机放置图钉 - iOS Maps Swift

ios - 使用不同单位类型进行测量的最佳方法

swift - 在函数中使用@lazy 属性会导致构建错误

swift - 如何使用 ObjectMapper 在 Realm List 中映射 JSON 中的整数数组

ios - 在 Firebase iOS 中刷新身份验证 token 时出错

ios - 将文本从 tableview 单元格 swift 传递到 TextField

ios - Xcode plist 验证脚本

swift - 无法确定 URL 是否由文件提供程序管理

xcode - Swift 协议(protocol)扩展覆盖