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