Swift:连续if语句中存在大量错误
我在这段代码中发现了大量毫无意义的错误:Swift:连续if语句中存在大量错误,swift,Swift,我在这段代码中发现了大量毫无意义的错误: import UIKit func remove(input: String) -> String { if countElements(input) > 1 && (input as NSString).substringWithRange(NSRange(location: 0, length: 1) = " " { return remove(input.substringFromIndex(1
import UIKit
func remove(input: String) -> String {
if countElements(input) > 1 && (input as NSString).substringWithRange(NSRange(location: 0, length: 1) = " " {
return remove(input.substringFromIndex(1))
} else if (countElements(input) > 1) && " " = ((input as NSString).substringFromIndex(countElements(input) - 1)) {
return remove(input.substringToIndex(countElements(input) - 1))
} else {
return input
}
}
remove("hello")
错误:Line 6 - Expected ',' separator
Line 6 - Expected Expression in list of expressions
Line 10 - Expected '{' after 'if' condition
Line 11 - Expected ')' in expression list
Line 13 - Ambiguous use of 'remove'
这些错误毫无意义。谁能给我指出正确的方向吗
(input as NSString).substringWithRange(NSRange(location: 0, length: 1) = " "
这是一个不完整的表达式,等式运算符的使用不正确
(input as NSString).substringWithRange(NSRange(location: 0, length: 1)) == " "
^ ^
我添加了一个)
来完成对substringWithRange
的调用,并添加了另一个=
来测试赋值是否相等
如果第6行是以第一个开头的那一行,如果第6行是以“else if”开头的那一行,那么对等式vs赋值运算符的滥用也会发生在
else中。是的,第6行是唯一以“else if”开头的一行。大多数类似c的语言都要求在条件表达式周围加括号,您在第一次if
中没有这样做。在大多数情况下,是的,但您不需要在Swift中这样做。在这段代码的第一个版本中,我确实做到了这一点,但后来我认为,在不需要括号的情况下放括号会出现这些错误(我知道一个不太可能的解决方案,但我坚持了)。我得到了和以前一样的错误,没有什么不同。谢谢-修复了四个错误,但还有两个已经到达,最后一个(第13行上的一个)也还在那里第5行:无法使用“String”类型的参数调用“remove”第7行:无法使用“String”类型的参数调用“remove”。递归在Swift中不起作用吗?或者我没有正确调用我的函数?当我收到上述错误时,我还在“else if”行上进行了更改。您函数的名称remove
与现有函数冲突。我建议将其重命名。