在Ruby中计算Base-n对数

这个看起来很简单,但我在 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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...