Swift:连续if语句中的大量错误

时间:2014-09-27 22:08:50

标签: 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))
    } 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'

这些错误完全没有意义。有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:2)

(input as NSString).substringWithRange(NSRange(location: 0, length: 1) = " " 

这是一个不完整的表达式,并且不正确地使用了相等运算符。

(input as NSString).substringWithRange(NSRange(location: 0, length: 1)) == " " 
                                                                      ^  ^

我添加了)来完成对substringWithRange和另一个=的调用,以测试相等于分配的相等性。

else if

中也会发生对等号与赋值运算符的误用