0

整数を取得しようとしていますが、「Fixnum」値を取得しています。

例:

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

Result
=> Fixnum

上記の例によると、どうすれば整数値を取得できますか? Fixnum は整数のみですが、プラグインを 1 つ実装すると、「整数のみを入力してください」のようなエラーが発生します。

4

3 に答える 3

14

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-27T10:55:42.870 に答える
0

Fixnum標準整数の ruby​​ クラスです。

具体的に言うと、Integer クラスはFixnums とBignums の両方をカバーしていますが、正直なところ、ここで行うことは何もありません。

于 2013-03-27T10:55:12.280 に答える
0

すべて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
于 2013-03-27T11:00:00.977 に答える