2012-11-21 28 views

回答

4

因爲Ruby解釋器「創造」一個地方當它看到一個任務時變量。

在第二種情況下,它還沒有看到賦值,所以當解析表達式時變量不存在。

更確切地說,一個方法首先被解析爲一個內部表示,然後,最終可能調用代碼並實際執行。

變量在解析過程中「創建」。這實際上更像是一個聲明問題,它只是意味着解釋者意識到他們。它們不會被創造出來,直到周圍的方法被某人調用時才被賦予空間或價值。

相關問題