8

これは簡単に思えますが、Ruby で log (Base 5) を計算するのに問題があります。

明らかに、標準の base-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 on rails でベース n のログを計算する方法を知っている人はいますか?

ありがとう!

4

2 に答える 2

15

Ruby の機能を確認しますが、基本を忘れないでください。 代替テキスト

Ruby 1.9 より前:

> Math::log(234504) / Math::log(5)
=> 7.682948083154834

Ruby 1.9 以降では、2 番目の引数が導入されました。

> Math::log(234504, 5)
=> 7.682948083154834
于 2011-01-23T22:29:43.343 に答える