我想获得整数,但我得到'Fixnum'值。如何将Fixnum转换为红宝石整数
对于如:
arr = ["1", "2", "3", "4"]
arr.each do |a|
m = a.to_i
m.class.name
Result
=> Fixnum
根据上面的例子,我怎样才能得到整数值? Fixnum是一个整数,但实现一个插件时,它会通过一个错误,如“请只输入整数”。
我想获得整数,但我得到'Fixnum'值。如何将Fixnum转换为红宝石整数
对于如:
arr = ["1", "2", "3", "4"]
arr.each do |a|
m = a.to_i
m.class.name
Result
=> Fixnum
根据上面的例子,我怎样才能得到整数值? Fixnum是一个整数,但实现一个插件时,它会通过一个错误,如“请只输入整数”。
Fixnum
是标准整数的ruby类。
具体而言,Integer类包括Fixnum
s和Bignum
s,但是诚实地说,这里没有什么可以做的。
在Ruby中,整数是Fixnum
或Bignum
中的较大数字。他们都继承Integer
类。
所以你已经有了一个整数,不需要进一步转换。
1.class #=> Fixnum
1.class.superclass #=> Integer
要转换的数组元素为整数,你可以这样做:
arr = ["1", "2", "3", "4"]
arr.map(&:to_i) #=> [1, 2, 3, 4]
但是我得到像'请只输入整数'错误 – 2013-03-27 10:56:48
@ShruthiRamesh你可以提供更多的上下文吗? – 2013-03-27 10:58:51
@ShruthiRamesh这个错误信息来自哪里? – Stefan 2013-03-27 11:04:17
所有Fixnum
(S)已经Integer
。下面是一些例子:
"12".to_i.class
#=> Fixnum
"12".to_i.integer?
#=> true
"12".to_i.to_int
#=> 12
以上一切皆有可能原样
"12".to_i.class.superclass
#=> Integer
你可能想提出一个有关插件的问题即可。就目前而言,你认为你知道这个问题,并且已经要求一个解决方案来解决它,就像你认为它被破坏一样;但很可能导致这些错误的* real *问题是其他问题(比如,可能是插件中的一个元素不是像你想象的那样的数字:-) – Pavling 2013-03-27 12:05:25