我正在浏览NilClass
文档,我发现了一种方法rationalize
,当nil
上调用时,“将零返回为理性”:
nil.rationalize
#=> 0/1
奇怪的是,文档还说明了“The optional argument eps is always ignored”。
因此,
nil.rationalize(5)
#=> 0/1
nil.rationalize("monkey")
#=> 0/1
nil.rationalize(false)
#=> 0/1
eps
参数的目的是什么,以及为什么总是忽略可选参数?
答案 0 :(得分:4)
鉴于.rationalize
,Float
,Integer
和Complex
也可以使用Rational
,但出于兼容性原因,可能会接受该参数。它可能不会用于NilClass
,但这样它的参数与其余部分兼容。