如何在ruby中将Fixnum转换为Integer

Shr*_*i R 0 ruby arrays integer fixnum

我想获得整数,但我得到'Fixnum'值.

对于Eg:

arr = ["1", "2", "3", "4"]
arr.each do |a|
m = a.to_i
m.class.name

Result
=> Fixnum
Run Code Online (Sandbox Code Playgroud)

根据上面的例子,我怎样才能获得Integer值?Fixnum只是一个Integer,但在实现一个插件时,它会通过像'Please enter only integer'这样的错误.

js-*_*der 14

在Ruby中,整数可以是类,FixnumBignum可以是更大的数字.他们都继承自Integer班级.

所以你已经有了一个整数,不需要进一步转换它.

1.class #=> Fixnum
1.class.superclass #=> Integer
Run Code Online (Sandbox Code Playgroud)

要将数组元素转换为整数,您可以这样做:

arr = ["1", "2", "3", "4"]
arr.map(&:to_i) #=> [1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)