私はこれのFantomクラスFantomクラスのメンバにコンストラクタit-blockのメンバ関数からアクセスしますか?
const class Mixed
{
const Int whole
const Int numerator
const Int denominator
const | -> Int[]| convertToFrac
new make(|This| func) { func(this) }
}
を定義し、私はこのように、convertToFrac関数を定義するインスタンスを作成したい場合:
class Example
{
Void main(Str args)
{
mixed := Mixed {
whole = 2
numerator = 3
denominator = 8
convertToFrac = |->Int[]| {
return [ whole * denominator + numerator, denominator ]
}
}
}
}
コンパイラが言って文句:
Unknown variable 'numerator'
Unknown variable 'denominator'
Unknown variable 'whole'
オブジェクトを参照するにはどのような方法があります「混合」関数のパラメータとして「混合」オブジェクトを通過することなく、また、定義されている、機能「convertToFrac」内から作成されましたか?
ので、同様に、私は、 "混合" で各変数を付加した場合:
return [ mixed.whole * mixed.denominator + mixed.numerator, mixed.denominator ]
コンパイラは文句:Unknown variable 'mixed'
を。
this.whole
を使用することは、例のクラスを参照するので意味をなさない。 it.whole
を使用すると、関数を参照する意味がありません。
"convertToFrac"関数内から "mixed"オブジェクトにアクセスする方法をお勧めしますか?