次の配列を変換しようとしています:
2.0.0-p0 :021 > test = 1, 440, 840
=> [1, 440, 840]
次の整数に:
1440840
を実行してsplit(',')
から参加するとうまくいきますが、もっと良い方法があると確信しています。
次の配列を変換しようとしています:
2.0.0-p0 :021 > test = 1, 440, 840
=> [1, 440, 840]
次の整数に:
1440840
を実行してsplit(',')
から参加するとうまくいきますが、もっと良い方法があると確信しています。
配列の場合、分割を使用する必要はありません。ただ行う:
test.join.to_i
サンプルランjoin
:
2.0.0-p195 :007 > t.is_a? Array
=> true
2.0.0-p195 :008 > t.join.to_i
=> 1440840
2.0.0-p195 :009 >
瞑想すべき事柄を以下に示します。
STRING = '1,440,840'
STRING.gsub(',', '').to_i # => 1440840
STRING.tr(',', '').to_i # => 1440840
STRING.delete(',').to_i # => 1440840
STRING.scan(/\d+/).join.to_i # => 1440840
require 'scanf'
STRING.scanf('%d,%d,%d').join.to_i # => 1440840
scanf
Ruby ではあまり使用されていませんが、C では主力であり、Perl ではよく使用されます。カーネルのprintf
、sprintf
、format
および String のの反対側です%
。
どうですか
test.inject { |ttl, n| ttl * 1000 + n }