2014-12-04 51 views

回答

2

您需要一個IO對象,以調用IO#close它:

io = IO.for_fd(3) 
# Actually, `for_fd` is just an alias for `new`, but it reads nice here 

io.close 

# or simply 
IO.for_fd(3).close 

事實上,即使只是說

IO.for_fd(3) 

,而不調用close可能就足夠了,因爲我們沒」 t將返回的IO分配給任何變量,它有資格進行垃圾回收,並且最終可能會在未來某個未指定的時間收集垃圾,終結器將會返回close它......但依靠這是一個非常糟糕的主意,因爲你不知道對象將被垃圾收集。如果程序永遠不會耗盡內存,它可能實際上不會被收集。

+0

很好的答案!我突然被運回C工作。 – 2014-12-04 03:22:15

+0

太好了,非常感謝! – user180574 2014-12-04 18:20:12