我可以用我的方法fraction
做什么,所以它返回除法的分数,而不是小数值。所以:
fraction(a,b)
(a/b)
end
fraction(5,3) #=> (5/3)
我希望它返回一个类似于负指数工作的值:
8**-2 #=> (1/64)
答案 0 :(得分:4)
这是一个提示:
(8**-2).class #=> Rational
因此,这已经通过Rational
类存在于Ruby中,您可以将其称为创建有理数的方法。
Rational(5, 3) #=> (5/3)
Rational('5/3') #=> (5/3)
Rational('0.3') #=> (3/10)
答案 1 :(得分:2)
对于有理数使用Ruby 2.1的新文字,以下任何一个都可以使用:
5r/3 # => (5/3)
5/3r # => (5/3)
5r/3r # => (5/3)