这个看起来很简单,但我在
Ruby中计算log(Base 5)时遇到了麻烦.
显然,标准的基础10日志工作正常:
>> value = Math::log(234504) => 12.3652279242923
但在我的项目中,我需要使用Base 5.根据ruby文档(http://www.ruby-doc.org/core/classes/Math.html#M001473),我似乎应该能够这样做:
Math.log(num,base)→float
>> value = Math::log(234504,5) ArgumentError: wrong number of arguments (2 for 1) from (irb):203:in `log' from (irb):203 from :0
哪个不喜欢.任何人都知道如何在轨道上的ruby中计算base-n中的日志?
谢谢!
解决方法
我会检查Ruby功能,但不要忘记你的基础知识:
在Ruby 1.9之前:
> Math::log(234504) / Math::log(5) => 7.682948083154834
在Ruby 1.9及更高版本中,引入了第二个参数:
> Math::log(234504,5) => 7.682948083154834