Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何将相同的项添加到Ruby数组中的每个项?_Arrays_Ruby - Fatal编程技术网

Arrays 如何将相同的项添加到Ruby数组中的每个项?

Arrays 如何将相同的项添加到Ruby数组中的每个项?,arrays,ruby,Arrays,Ruby,我有一个日期,存储为字符串 date_added=“2019-12-28620:32:27Z” 我需要将其添加到数组中的每个项中 tracks=[“6tilpznhyaqcpivolkxrv”,“5sKHRsDybtkw6lxufkyk08”,“0ZWBuv544C0STkXfYb9Sd5”] 因此,最终输出应为: [“6TilpzhenhyaQCPIVFolkxRV”,“2019-12-28T20:32:27Z”],[“5SKHRSDYBTKW6LXUFKK08”,“2019-12-28T

我有一个日期,存储为字符串

date_added=“2019-12-28620:32:27Z”
我需要将其添加到数组中的每个项中

tracks=[“6tilpznhyaqcpivolkxrv”,“5sKHRsDybtkw6lxufkyk08”,“0ZWBuv544C0STkXfYb9Sd5”]
因此,最终输出应为:

[“6TilpzhenhyaQCPIVFolkxRV”,“2019-12-28T20:32:27Z”],[“5SKHRSDYBTKW6LXUFKK08”,“2019-12-28T20:32:27Z”],[“0ZWBuv544C0STkXfYb9Sd5”,“2019-12-28T20:32:27Z”]

如何将该日期项添加到数组中的每个项?我已经查看了
zip
push
,但是没有得到想要的结果。

tracks数组包含字符串,而最终输出包含其他数组。这些是不同的类,因为您无法更改对象的类,“添加”到现有项实际上不起作用。您必须创建由一个旧元素(字符串)和添加的日期(另一个字符串)组成的新元素(数组)

您可以使用并让Ruby将
曲目
[date\u added]
组合:

tracks.product([date_added])
#=> [["6tIlpznHyaqCPiVfolKxrV", "2019-12-28T20:32:27Z"],
#    ["5sKHRsDybtkw6lxufkyk08", "2019-12-28T20:32:27Z"],
#    ["0ZWBuv544C0STkXfYb9Sd5", "2019-12-28T20:32:27Z"]]
或用于创建子阵列:

tracks.map { |t| [t, date_added] }
#=> [["6tIlpznHyaqCPiVfolKxrV", "2019-12-28T20:32:27Z"],
#    ["5sKHRsDybtkw6lxufkyk08", "2019-12-28T20:32:27Z"],
#    ["0ZWBuv544C0STkXfYb9Sd5", "2019-12-28T20:32:27Z"]]

跟踪
数组包含字符串,而最终输出包含其他数组。这些是不同的类,因为您无法更改对象的类,“添加”到现有项实际上不起作用。您必须创建由一个旧元素(字符串)和添加的日期(另一个字符串)组成的新元素(数组)

您可以使用并让Ruby将
曲目
[date\u added]
组合:

tracks.product([date_added])
#=> [["6tIlpznHyaqCPiVfolKxrV", "2019-12-28T20:32:27Z"],
#    ["5sKHRsDybtkw6lxufkyk08", "2019-12-28T20:32:27Z"],
#    ["0ZWBuv544C0STkXfYb9Sd5", "2019-12-28T20:32:27Z"]]
或用于创建子阵列:

tracks.map { |t| [t, date_added] }
#=> [["6tIlpznHyaqCPiVfolKxrV", "2019-12-28T20:32:27Z"],
#    ["5sKHRsDybtkw6lxufkyk08", "2019-12-28T20:32:27Z"],
#    ["0ZWBuv544C0STkXfYb9Sd5", "2019-12-28T20:32:27Z"]]
请记录在案:

date_added = "2019-12-28T20:32:27Z"
racks = ["6tIlpznHyaqCPiVfolKxrV", "5sKHRsDybtkw6lxufkyk08", "0ZWBuv544C0STkXfYb9Sd5"]

racks.zip([date_added] * racks.size) 
# => [["6tIlpznHyaqCPiVfolKxrV", "2019-12-28T20:32:27Z"],
#     ["5sKHRsDybtkw6lxufkyk08", "2019-12-28T20:32:27Z"],
#     ["0ZWBuv544C0STkXfYb9Sd5", "2019-12-28T20:32:27Z"]]
但是,如果可能的话,我不会像
zip
product
那样对数组进行按摩,从而用冗余信息扩展其大小。相反,我会在访问每个元素时对其进行按摩,以确定日期,例如:

racks.each do |r|
  foo([r, date_added])
end
最终结果将是@Stefan建议使用
map
的结果,只要您没有将
map
结果存储在中间值中。

仅供记录:

date_added = "2019-12-28T20:32:27Z"
racks = ["6tIlpznHyaqCPiVfolKxrV", "5sKHRsDybtkw6lxufkyk08", "0ZWBuv544C0STkXfYb9Sd5"]

racks.zip([date_added] * racks.size) 
# => [["6tIlpznHyaqCPiVfolKxrV", "2019-12-28T20:32:27Z"],
#     ["5sKHRsDybtkw6lxufkyk08", "2019-12-28T20:32:27Z"],
#     ["0ZWBuv544C0STkXfYb9Sd5", "2019-12-28T20:32:27Z"]]
但是,如果可能的话,我不会像
zip
product
那样对数组进行按摩,从而用冗余信息扩展其大小。相反,我会在访问每个元素时对其进行按摩,以确定日期,例如:

racks.each do |r|
  foo([r, date_added])
end

最终结果将是@Stefan建议使用
map
,只要您没有将
map
结果存储在中间值中。

我们希望看到您尝试解决此问题。“我们希望看到你试图解决这个问题。“”根据偏好
racks.zip([date\u added]*racks.size)
可以替换为
racks.zip([date\u added].cycle)
。酷!我从来没有想过像那样使用
cycle
。根据偏好
racks.zip([date\u added]*racks.size)
可以替换为
racks.zip([date\u added].cycle)
。酷!我从来没有想过像那样使用
cycle