【发布时间】:2018-11-24 15:31:36
【问题描述】:
如何在不出现此错误的情况下运行此程序?
不能使用类型为“(从:Double,到:[Double],by:Double)”类型的参数列表调用“stride”
我知道答案就在那里,但我是编码新手,无法将 [double] 设置为 func 中的一个 double。
var array = [50.0, 40.0, 60.0]
var newArray = [Float]()
func possible(variable: [Double]) -> Float {
var chance: Double = 0.0
let last = variable
let interval = -10.0
for _ in stride(from: 100.0, to: last, by: interval) {
chance += 0.05
}
return Float(chance)
}
newArray.append(possible(variable: array))
我明白为什么它不起作用,因为我告诉 last 是一个数组。但是如何让它单独运行数组的每个组件。我以为 let last = (variable[index]) 会起作用,但它没有。
理想的最终结果是newArray = [0.25, 0.3, 0.2]
【问题讨论】:
-
首先应该是
[Double]吗?last听起来不像是一个列表。我认为您需要在这里详细说明您的意图。 -
variable是Double的数组。但是stride的to参数需要一个特定的Double。last设置为数组,而不是特定的数字。 -
@Carcigenicate 我想要的是数组的所有 3 个组件都通过函数并传递到一个新的 3 个浮点数组中。所以理想情况下,最终结果是 newArray = [0.25, 0.3, 0.2]
-
@rmaddy 我试着做 let last = (variable[index]) 认为这会起作用,但它没有。
标签: arrays swift function types type-conversion