【发布时间】:2018-08-30 12:33:34
【问题描述】:
下面的例子:
let plus: (Int, Int) -> Int = (+)
print(plus)
debugPrint(plus)
print(UIView.removeFromSuperview)
debugPrint(UIView.removeFromSuperview)
print(UnsafePointer<Int>.distance(to:))
debugPrint(UnsafePointer<Int>.distance(to:))
打印无用的输出:
(功能)
(功能)
(功能)
(功能)
(功能)
(功能)
有什么方法可以在 Swift 中获取函数的名称吗?我的意思是,不是当前正在运行的函数的名称 (#funciton)。但是存储在变量中的函数名称,或者类函数等。每种语言,尤其是伪装成函数的语言,都应该有这样的能力,对吧?
【问题讨论】:
-
试试
print(functionName.dynamicType) -
我不知道有一种函数式语言可以让您打印闭包的名称,哈哈
-
@Alexander,JS,C#。
-
@kelin JS,C# 不起作用。 Swift 不起作用
-
@Kal,它不是匿名函数。我刚刚将一个运算符分配给一个变量。
()需要帮助编译器理解它。您也可以分配任何类似的功能。