是否有一种简单的方法可以在Ruby中用任意基础表达Integers?

luk*_*kad 3 ruby erlang integer

Erlang有一个非常好的语法来表达具有任意基数的整数.是的base#number.

例:

> 2#101010.
42
> 16#2A.
42
Run Code Online (Sandbox Code Playgroud)

Ruby中有类似的东西吗?我已经知道了#to_i(base=10).

Chr*_*ice 5

为任意基础执行此操作的简单但非常有效或安全的方法:

class Fixnum
  def as_base(b)
    to_s.to_i(b)
  end
end

101010.as_base(2)
42
Run Code Online (Sandbox Code Playgroud)

(并且你必须为同样class Bignum大的整数文字工作...)