提问人:goatstash 提问时间:2/12/2022 更新时间:2/13/2022 访问量:115
如何将字符串整数数组转换为整数数组?红宝石
How to convert an array of string integers to an array of integers? Ruby
问:
我有一个数组:
all_ages = ["11", "9", "10", "8", "9"]
我想将其转换为整数数组,希望可以更轻松地将它们全部相加。 非常感谢任何帮助,寻找一级解决方案。
答:
3赞
Rajagopalan
2/12/2022
#1
all_ages = ["11", "9", "10", "8", "9"]
法典
p all_ages.map(&:to_i).sum
或
p all_ages.map { |x| x.to_i }.sum
输出
47
评论
1赞
goatstash
2/12/2022
你是传奇。你不知道我花了多长时间。谢谢!
0赞
goatstash
2/12/2022
不然怎么会写出 p all_ages.map(&:to_i).sum?
4赞
Jörg W Mittag
2/12/2022
all_pages.sum(&:to_i)
1赞
2/13/2022
我发现这种方法是有利的,因为它还允许在需要时使用一种简单的方法进行替换。array.map {block}
x.to_i
Integer(x)
1赞
Jörg W Mittag
2/14/2022
@MichaelB:你是说喜欢?array.sum(&method(:Integer))
7赞
spickermann
2/12/2022
#2
Enumerable#sum
可以用一个块来调用,告诉 Ruby 如何对数组的元素求和,在这种情况下,首先在元素上调用 String#to_i
。
all_ages = ["11", "9", "10", "8", "9"]
all_ages.sum(&:to_i)
#=> 47
评论