我想在函数中传递逻辑运算符作为参数。
例如
func openViewIfNeeded() {
if lastTab != 0 {
openView()
}
}
因此,我不想直接使用!=
运算符,而是将其作为参数。
功能应如下所示:
func openViewIfNeeded(operator) {
if lastTab (operator) 0 {
openView()
}
}
这个函数应该像这样调用
self.openViewIfNeeded(!=) or self.openViewIfNeeded(==)
任何帮助都表示赞赏。
提前致谢。
答案 0 :(得分:1)
您必须向openViewIfNeeded
提供操作符作为闭包/函数。见这个例子:
typealias Operator = (Int, Int) -> Bool
func compare (_ op:Operator) {
if op(1,2) {
print ("yes")
}
}
compare(<)
尽管如此,在函数中你不能将运算符写成文字;相反,你必须&#34;打电话&#34;关闭。