我試圖調整Ruby/Rails函數中的變量。標準的東西,許多其他語言。如何在Ruby中就地替換數字對象
在C:
void change(int *io){
*io = 1;
}
現在我們都知道,Ruby是通過引用傳遞(笑臉)。這一點的代碼完美的作品:
def tester()
value = 'dave'
test_replace(value)
p value.to_s;
end
def test_replace(ioValue)
ioValue.replace 'test'
end
輸出是'測試'。
所以問題是:固定數字沒有替換方法。它們的傳遞方式與其他值不同。
所以我的問題是:如何在Ruby中「io」一個「int」?
def tester()
value = 10
test_replace(value)
p value.to_s;
end
def test_replace(ioValue)
ioValue.replace 15
end
這引發了
未定義的方法'取代」爲10:Fixnum對象
不是真的對象?他們就是我們所說的不變的。 – oldergod 2013-03-11 23:58:43
請不要評論這個例子..這個問題100%做作。另外通過價值的東西已經在其他SO條目中得到解決:) – baash05 2013-03-11 23:58:58
爲什麼這是投票?我的意思是老實說,通過參考是一件真實的事情?羽絨球只是困擾我的鼻涕。 – baash05 2013-03-12 00:17:14