関数の種類


関数は、スクリプトレベルで(スクリプト関数)、またクラスの内部で(インスタンス関数)宣言されます。 ローカル関数はまだサポートされていません。


スクリプト関数

スクリプト関数はスクリプトのトップレベルで宣言され、クラス定義の内側ではありません。 スクリプト関数は、スクリプト全体から見え、メンバ変数のアクセス修飾子は必要ありません。

function square(x : Number) : Number { x * x }
println( square(7) )

もしアクセス修飾子が追加されれば、そのスクリプト関数をスクリプトの外に見えるようにできます。 それらはスクリプトのメンバ変数としてアクセスされます。

例:このスクリプトがFoo.fxだとすると

public function square(x : Number) : Number { x * x }

スクリプトBar.fxはsquareにアクセスできます。

println(Foo.square(10))


インスタンス関数

インスタンス関数は、クラスのトップレベルで宣言されます。 インスタンス関数は、そのスクリプト全体から見えます。 メンバ変数のアクセス修飾子はクラス(及びサブクラス)内に必要ありませんが、 クラスの外には必要です。

class Scale { 
   var factor : Number; 
   function transform(x : Number) : Number { factor * x } 
} 
var tf = Scale { factor: 25.0 } 
println(tf.transform(10.0))

Home