Spec-Zone .ru
спецификации, руководства, описания, API
|
Функции могут быть объявлены на уровне сценария (функция сценария) или в class (функция экземпляра). Локальные функции еще не поддерживаются.
Функции сценария объявляются на верхнем уровне сценария, не в определении class. Функции сценария видимы всюду по всему сценарию - задействованное выражение доступа не необходимо.
function square(x : Number) : Number { x * x } println( square(7) )
Если модификаторы доступа добавляются, которые делают функцию сценария видимой вне сценария, к ним можно получить доступ как элементы сценария. Например, если это - сценарий Foo.fx:
public function square(x : Number) : Number { x * x }
Затем сценарий Bar.fx может получить доступ к квадрату:
println(Foo.square(10))
Функции экземпляра объявляются на верхнем уровне class. Функции экземпляра видимы всюду по всему сценарию - задействованное выражение доступа не необходимо в пределах class (или его подклассы), но необходимо за пределами class.
class Scale { var factor : Number; function transform(x : Number) : Number { factor * x } } var tf = Scale { factor: 25.0 } println(tf.transform(10.0))