gpt4 book ai didi

ruby - 使用迭代器将数组中的数字相乘

转载 作者:太空宇宙 更新时间:2023-11-03 17:11:48 24 4
gpt4 key购买 nike

如果我要从现有数组创建一个新数组并使用数学运算符修改内容,这样做的好方法是什么?当我尝试使用下面的代码时,我收到有关未定义方法的错误。

ary1 = [1, 2, 3, 4, 5]
ary2 = ary1.each { |i|
ary1[i] = ary1[i] * 10
}
p ary1
p ary2

我假设数学运算符不包含在 Array 类中。

最佳答案

您正在寻找 map 函数 ( docs ):

ary1 = [1, 2, 3, 4, 5]
ary2 = ary1.map {|value| value * 10}

map 通常是一种通过转换给定数组来生成新数组的好方法。您将一个 block 传递给它,为数组中的每个项目调用该 block 。该 block 接收每个项目(而不是索引)作为参数,我将其称为 value。 block 的返回值被收集到一个新数组中,然后在 map 函数完成时返回。

关于ruby - 使用迭代器将数组中的数字相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14140677/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com