gpt4 book ai didi

ruby - 如何替换 Ruby 中的对象?

转载 作者:太空宇宙 更新时间:2023-11-03 16:00:20 25 4
gpt4 key购买 nike

假设我有一些深度嵌套的数组结构和对内部对象的引用:

strings = ["1", "2", " 3"]
nested = [[strings] * 10] * 10
reference = nested[0][0][0]

如何用例如替换指向的对象 reference“4”?我需要一些通用的东西,可以与任意对象一起使用,而不是 String#gsub! 和 friend 。类似于 Object#replace(other_obj)

最佳答案

你不能,我们在 Ruby 中没有(显式)指针,我们有(隐式)引用,但你不能取消引用它们以弄乱它们包含的内容。相反,您需要执行以下操作:

inner nested[0][0]
inner[0] = '4'

这样您就可以使用对要替换的元素的引用而不是元素本身。

当然,根据您问题中的结构,inner[0] = '4' 将替换 strings 的第一个元素(因此 inner[0] = '4' 的第一个元素 嵌套,因为它只是一堆对 strings 引用的同一个数组的引用。

很抱歉这里的reference 一词重载了。这是对英语的可怕滥用,但英语本身就是对英语的滥用:)

关于ruby - 如何替换 Ruby 中的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26951380/

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