作为参数的函数:swift3中的一元运算符

Posted

技术标签:

【中文标题】作为参数的函数:swift3中的一元运算符【英文标题】:Function as parameter: Unary Operator in swift3 【发布时间】:2016-11-30 09:52:20 【问题描述】:

我一直在 Xcode 游乐场测试代码,如 Apple WWDC 2016 所示。

复制的代码与演示文稿中的完全相同,但它显示我的函数参数是“一元运算符”的错误。

我错过了什么吗?

See error image here

Playground error on function as param

这是代码

func filterInst(_ numbers: [Int], _ includeNumber: (Int) -> Bool) -> [Int] 
 var result : [Int] = []
 for number in numbers 
    if includeNumber(number) 
        result.append(number)
    
 
 return result


let numbers = [4, 17, 34, 41, 82]
func divisibleByTwo(_ number: Int) -> Bool 
    return number % 2 == 0


let evenNumbers = filterInst(numbers, divisibleByTwo)
print(evenNumbers)

【问题讨论】:

该代码在我的 Xcode 中编译和运行没有问题。 对我来说似乎很好,但出现错误..不知道为什么..查看错误屏幕 该函数之前还有更多代码吗?您是否尝试在新项目中编译它? 删除以前的代码,这是我得到的错误:i.stack.imgur.com/SQJzf.jpg 您应该先解决“源文件中的无效字符”问题。 【参考方案1】:

调试后发现问题,好像有一个看不见的字符...

所以我删除了空间并再次输入空间..然后它工作.. Xcode 错误?

Xcode screenshot of the invisible char....bug?

【讨论】:

这更有可能是你的错。也许你不小心输入了“option-space”或类似的东西? 是的,一定是它,选项 + 空格 :) 呵呵! 8-)

以上是关于作为参数的函数:swift3中的一元运算符的主要内容,如果未能解决你的问题,请参考以下文章

成员运算符“%”必须至少有一个类型为“ViewController”的参数

运算符重载

函数对象

对 unsigned int 进行一元运算的编译器警告

C++学习27 用全局函数重载运算符

python波浪号一元运算符作为否定numpy bool数组