论坛首页 编程语言技术论坛

questions of ruby - pointer? instance?

浏览 2707 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-02-13  
目前寫ruby程式 有幾個問題想請教一下

1.刪除一個class的instance?
在C++裡 我記的是用個delete就可以直接刪除
但是在ruby裡好像不行
比方說我今天有個class如下

class Node
....
end

a1 = Node.new

delete a1 #沒辦法刪除

想請問一下 ruby中有沒有辦法把這new出來的instance砍掉??

2. ruby的pointer
這部份我知道是用reference來做 不過由於ruby是oo的東西
所以他好像是duplicate一個新的去做??

class Node
...
end

================
a1 = Node.new
refers = a1
a1 = nil
p refers #其實refers好像還是存在
================

或是

==================
a1 . Node.new
refers = a1
refer = nil
p a1 # a1還是存在
==================

有沒有辦法能做到變數名稱不同 但是只要對他做改變, 比如把他nil
2個東西的資料都會做改變呢?

這是最近遇到的一些問題 希望懂的人能幫忙解決一下
   发表时间:2007-02-13  
引用
ruby中有沒有辦法把這new出來的instance砍掉

没有。garbage collection是自动的,你不需要关心。
引用
有沒有辦法能做到變數名稱不同 但是只要對他做改變, 比如把他nil
2個東西的資料都會做改變呢?

alias
$a = "hehe"
alias $a $b
$b = "haha"
p $a # "haha"
0 请登录后投票
   发表时间:2007-02-14  
嗯嗯 我知道gc會自動處理
但是因為我在這個頁面還想做其他的處理
所以想自己手動

不過目前好像沒看到有方法可以這樣支援

總之 謝謝
0 请登录后投票
   发表时间:2007-02-14  
jerrylin 写道
目前寫ruby程式 有幾個問題想請教一下
2. ruby的pointer
這部份我知道是用reference來做 不過由於ruby是oo的東西
所以他好像是duplicate一個新的去做??

class Node
...
end

================
a1 = Node.new
refers = a1
a1 = nil
p refers #其實refers好像還是存在
================

或是

==================
a1 . Node.new
refers = a1
refer = nil
p a1 # a1還是存在
==================


很明显你没有搞清楚一些最基本的概念。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics