// Playground - noun: a place where people can play
func getAverage(numbers: Int...) -> Double{
var total = 0
var average:Double = 0
for number in numbers{
total = total + number
}
average = total / numbers.count
return average
}
getAverage(3, 6)
我收到一个错误 average = total / numbers.count
找不到接受提供的参数的’/’的重载
我试图通过做修复:
average = Double(total/numbers.count)
但随后将getAverage设置为4
而不是4.5
在Swift中没有这样的隐式转换,因此您必须自己明确地进行转换:
average = Double(total) / Double(numbers.count)
来自 Swift编程语言 :“永远不会将值隐式转换为其他类型。” (部分:快速浏览)
但是您现在使用的是Swift,而不是Objective-C,因此请尝试以更加面向功能的方式进行思考。您的函数可以这样写:
func getAverage(numbers: Int...) -> Double {
let total = numbers.reduce(0, combine: {$0 + $1})
return Double(total) / Double(numbers.count)
}
reduce
将第一个参数作为累加器变量的初始值,然后将该combine
函数应用于累加器变量和数组中的每个元素。在这里,我们传递一个匿名函数,该函数使用$0
和$1
表示传递的第一个和第二个参数并将它们加起来。
更简洁地说,您可以这样编写:numbers.reduce(0, +)
。
请注意,类型推断如何仍然可以很好地找出那total
是一个Int
。
问题内容: 我已经转换一个到一个通过使用。然后,我尝试将其乘以0.01,但是出现一个错误,提示这是我的代码: 通过阅读其他文章,似乎答案与类型有关。例如,如果将类型设置为Integer,则它将收到类似的错误。我尝试将类型更改为Int,但这似乎无法解决问题。 我也曾尝试设置“海峡”和“pennyCount”作为类型和和的所有组合,和。我的猜测是问题与函数将a转换为an有关。 有人可以帮忙弄清楚问题可
问题内容: 我得到错误: 我也尝试过 和 但 工作良好。正确的语法是什么? 问题答案: 有一个功能:
我用了这个代码 我得到的错误是“找不到接受所提供参数的”init“的重载”
我为“MainWindow.fxml”文件构建了一个相当简单的控制器来处理按钮。我遵循了本教程。我已经在fxml文档中正确设置了fx:id。然而,在编译时,我得到以下错误警告 java: typejava.beans.EventHandler不接受参数 对于生产线 我的完整控制器类如下所示... 感谢任何帮助,提前感谢。
函数GetLatestFullAssemblyName{param([string]$DllName) } $assemblysn=(GetLatestFullAssemblyName-DllName“Microsoft.WindowsAzure.Storage.DLL”).FullName 函数Get-AzureStorageTableTable{<#.synopsis获取一个表对象,它可以来自
我和这里的用户遇到了同样的问题:log4j类型genericopobjectpool不接受参数,但我一直无法找到这个问题的答案。Log4j2在附加到rollingfile时起作用,但此处列出的方法:https://logging.apache.org/log4j/2.x/manual/appenders.html显示错误“GenericObjectPool不接受参数”