2
如果我定義這個魅影類訪問Fantom類成員從一個構造函數中的成員函數它塊?
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
沒有意義,因爲它指的是Example類。 使用it.whole
沒有意義,因爲它指的是功能。
任何人都可以請建議的方式來訪問「convertToFrac」功能內的「混合」的對象?