Ruby中的可选忽略参数#nil#rationalize

时间:2015-02-14 18:08:40

标签: ruby

我正在浏览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参数的目的是什么,以及为什么总是忽略可选参数?

1 个答案:

答案 0 :(得分:4)

鉴于.rationalizeFloatIntegerComplex也可以使用Rational,但出于兼容性原因,可能会接受该参数。它可能不会用于NilClass,但这样它的参数与其余部分兼容。