我有以下语法:
Void -> Void
//in context example
private var _onClickEvents : List < Void -> Void > ;
似乎被接受为类型定义,与Bool
或TextField
相同。我认为它与Haskell如何定义函数类型签名有类似的用途?
答案 0 :(得分:5)
static public function sayHello() : String { return "hi!"; }
的类型为:Void -> String
最后一个元素是函数返回的类型;前面的元素是参数的类型。
static public function factory(generator : String -> String -> String, times : Int) : Int -> String;
考虑这个函数,它将一个函数作为参数(带有2个参数并返回一个字符串)和一个整数值并返回一个函数。
其类型为:(String -> String -> String) -> Int -> (Int -> String)
如果您对正确的类型有疑问,可以随时使用type
命令。它仅在编译时使用,并在控制台中返回其参数的类型:
type(factory);
应该打印我上面写的内容。