用Ruby划分时返回分数

时间:2013-12-21 23:55:30

标签: ruby

我可以用我的方法fraction做什么,所以它返回除法的分数,而不是小数值。所以:

fraction(a,b)
  (a/b)
end

fraction(5,3) #=> (5/3)

我希望它返回一个类似于负指数工作的值:

8**-2 #=> (1/64)

2 个答案:

答案 0 :(得分:4)

这是一个提示:

(8**-2).class #=> Rational

因此,这已经通过Rational类存在于Ruby中,您可以将其称为创建有理数的方法。

Rational(5, 3)  #=> (5/3)
Rational('5/3') #=> (5/3)
Rational('0.3') #=> (3/10)

Check out the documentation here

答案 1 :(得分:2)

对于有理数使用Ruby 2.1的新文字,以下任何一个都可以使用:

5r/3 # => (5/3)
5/3r # => (5/3)
5r/3r # => (5/3)