我有一個陣列:
all_ages = ["11", "9", "10", "8", "9"]
我想把它轉換成一個整數陣列,希望能更容易地將它們加在一起。非常感謝任何幫助,尋找一級解決方案。
uj5u.com熱心網友回復:
Enumerable#sum可以用一個塊來呼叫,告訴 Ruby 如何對陣列的元素求和,在這種情況下,首先呼叫String#to_i元素。
all_ages = ["11", "9", "10", "8", "9"]
all_ages.sum(&:to_i)
#=> 47
uj5u.com熱心網友回復:
all_ages = ["11", "9", "10", "8", "9"]
代碼
p all_ages.map(&:to_i).sum
要么
p all_ages.map { |x| x.to_i }.sum
輸出
47
uj5u.com熱心網友回復:
這是一種不同的方法,可能也有助于添加到您的武器庫中:
all_ages = ["11", "9", "10", "8", "9"]
def sum_str_to_i (array)
total = 0
array.each {|x| total = x.to_i}
total
end
sum_str_to_i(all_ages)
#=> 47
或者,如果您不想定義新方法:
total = 0
all_ages.each {|x| total = x.to_i}
total
#=> 47
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/426761.html
上一篇:決議Watir結果
下一篇:在Ruby中決議回傳鍵而不是值
