我正在创建一个tic tac toe游戏,我遇到了这个错误,我并不理解:"在函数中缺少返回预期返回'(location:String,pattern:String)'".它正在应该返回"algorResults"的代码块上绘制错误,它应该给出在第一行初始化的位置和模式(两个字符串).出了什么问题?请彻底解释一下建议,谢谢!我的代码:
//Function that implements part of AI that sees where a good place to play is:
func rowcheck(value:Int)->(location:String, pattern:String)? {
var goodFinds = ["011","101","110"]
var findFuncs = [checktop, checkbottom, checkmidAcross, checkleft, checkmidDown, checkright, checkLRdiag, checkRLdiag]
for algor in findFuncs {
var algorResults = algor(value)
if find(goodFinds,algorResults.pattern) {
return algorResults
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果find(goodFinds,algorResults.pattern)满足,您的代码只返回一个值,否则没有返回值.
你可以做的是指定一个默认的返回值,并执行类似这样的操作(仅限伪代码):
variable result = defaultvalue
if find(goodFinds,algorResults.pattern) {
result = algorResults
}
return result
Run Code Online (Sandbox Code Playgroud)
我应该提到我不熟悉Swift,但是这个逻辑会确保你总是返回一些东西,这样你的方法就能完成契约.
| 归档时间: |
|
| 查看次数: |
8539 次 |
| 最近记录: |