拼音中的指针



我刚刚用Ruby解决了一些关于链表的任务。这很有趣,但它需要几行新行。因为如果我在某个函数中传递head,并更改列表的头部,我必须从方法返回新的head并将其重新分配给变量。

因为如果我有a变量并将其传递给方法,请在a剂量不变的情况下重新分配a内部、外部:

it "dose not changes if reassign variable in method" do
a = [1,2]
def reasign array
array = [1]
array
end
assert_equal [1], reasign(a)
assert_equal [1,2], a
end

当然,我可以在HashArray中扭曲列表head,并在更改对象中的某些内容时保存此Hash。外部的变量仍指向对象。这行得通。但同样需要几行。

it "method changes the data into a object" do
a = [1,2]
def change_object object
object.push 3
object
end
assert_equal [1,2,3], change_object(a)
assert_equal [1,2,3], a
end

Ruby 中有没有办法使用类似 C 的指针或类似 PHP 的引用?

所有 ruby 变量引用本质上都是指针(但不是指针到指针(,用 C 的说法。

您可以改变一个对象(假设它不是不可变的(,因此引用它的所有变量都将指向同一个(现在变异的(对象。但是,更改变量引用的对象的唯一方法是直接赋值该变量 - 并且每个变量都是一个单独的引用;不能为具有两个名称的单个引用设置别名。

相关内容

  • 没有找到相关文章

最新更新