gpt4 book ai didi

arrays - 如何确保数组操作是按值而不是 ruby​​ 中的引用完成的?

转载 作者:数据小太阳 更新时间:2023-10-29 08:36:28 26 4
gpt4 key购买 nike

我是 ruby​​ 的新手,想知道我会怎么做

例如:

a = [1,2,3,4]
b = []

b.push(a)
a.pop
a.pop

print b
# => [[1,2]]

我希望 b 保持 [[1,2,3,4]]

a 似乎是通过引用而不是值被插入 b 的。我希望 b 保持原样,不管我将来对 a 做什么;我该如何在 Ruby 中执行此操作?

最佳答案

a 是一个数组引用,因此要将其 插入b,您需要复制它:

b.push(a.dup)

这类似于在 C 中使用 strdup,其中字符串是指针。

关于arrays - 如何确保数组操作是按值而不是 ruby​​ 中的引用完成的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35222644/

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