我在學Ruby,我喜歡玩irb
來發現新的功能和技巧。今天我玩的是變數和方法,因爲我想知道哪一個在另一個前面偏好。一切似乎都很正常,直到我試圖這樣的:Ruby知道'myvar'是myvar = 0中的一個變量,如果爲false
def test
puts "hello"
end
test = "bye" if false
puts test
我期待這回"hello"
,但事實並非如此。所以,我想解析器將'test'視爲變量而不是方法。我有兩個問題:
- 我的假設是否正確?
- 有什麼辦法可以知道是什麼是一個變量還是方法?無論如何創建像
test.is_variable?
即使沒有「test =」bye「if false」行,代碼也會返回'hello''nil',因爲'test'方法返回'nil'的puts(「hello」)的結果。 – mbillard 2012-01-12 18:09:28
@GoodEnough你說得對。我也嘗試過,沒有「放入」。感謝評論:) – Nobita 2012-01-12 18:11:27