コンマで区切られた数字を含む文字列が与えられた場合、それらに対して数学演算を実行することは可能ですか?
たとえば、どのように文字列を取得し、"123,456,789"
その中から数値を抽出し、またはのような操作を実行できます123 + 456
か456 - 123
?
コンマで区切られた数字を含む文字列が与えられた場合、それらに対して数学演算を実行することは可能ですか?
たとえば、どのように文字列を取得し、"123,456,789"
その中から数値を抽出し、またはのような操作を実行できます123 + 456
か456 - 123
?
inject
、split
、およびmap
メソッドを使用できます。
"123,32,3,4,5,6, 2,34".split(",").map(&:to_i).inject(&:+)
eval も使用できますが、eval
遅くて時間がかかります。
を使用して、配列内の文字列を分割できますsplit(',')
。現在、to_i
任意の配列要素で使用できます。お役に立てば幸いです。
どうぞ:
s = "123,456,789"
s.split(',').reduce(0) do |result, number|
result = result + number.to_i
end
reduce
ブロック内の記号を+
から-
または必要なものに変更します。