我刚刚用Ruby解决了一些关于链表的任务。它很有趣,但它需要一些新行。因为如果我通过了
head
在某些函数中,如果更改列表的头,则必须返回新的
从方法并将其重新分配给变量。
因为如果我有
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
我当然可以翘曲
头
Hash
或
Array
然后保存这个
所以当我改变某个物体的时候。外部变量仍指向对象。这很管用。但还是需要几句台词。
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的引用?