我正在玩ruby翻译,然后就发生了。怎么样?
class Expe
attr_reader :i
def yo
@i = 3
end
end
a = Expe.new
puts a.yo.i #=> 0+3i
答案 0 :(得分:13)
我认为您正在做的是将a.yo转换为复数。
如果您输入puts a.yo.i.class
,则会返回Complex
。
我认为你应该做的是:
a = Expe.new
puts a.yo #=> 3
puts a.i #=> 3 (returning the 'i' attribute of a)
只需在整数
上调用.i
函数,就可以清楚地看到它
puts 3.i #=> 0+3i (convert integer 3 to complex)
答案 1 :(得分:2)
您在i
上调用方法yo
,该方法返回Numeric
。在i
上定义的方法Numeric
返回相应的虚数。不适用于复数。