如何将字符串整数数组转换为整数数组?红宝石

How to convert an array of string integers to an array of integers? Ruby

提问人:goatstash 提问时间:2/12/2022 更新时间:2/13/2022 访问量:115

问:

我有一个数组:

all_ages = ["11", "9", "10", "8", "9"]

我想将其转换为整数数组,希望可以更轻松地将它们全部相加。 非常感谢任何帮助,寻找一级解决方案。

数组 Ruby String 整数 数据操作

评论


答:

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_iInteger(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