2010-09-07 3 views
1

У меня есть следующий бит Синтаксис:Синтаксис Haxe; что означает следующее?

Void -> Void 
//in context example 
private var _onClickEvents : List < Void -> Void > ; 

который, кажется, принято в качестве определения типа, такой же, как Bool или TextField. Я предполагаю, что он имеет аналогичное использование, как Haskell определяет сигнатуры типа функции?

+0

Вы хотите добавить свой тендер? – rkellerm

ответ

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);

Если напечатать то, что я написал выше.

Смежные вопросы