如果我定义这个 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”函数中访问“混合”对象的方法?