假設語言的解釋器(可以是從PHP到Ruby的任何東西)用C編寫。 變量(或更復雜的數據結構不僅包含名稱和值)是如何定義的,它由當前正在腳本執行,存儲和讀出?我對C的認識很差,最終會得出這樣的結論:只能用數組來完成。腳本語言如何設置/修改/讀出變量?
// Variable type definition would go here
var* variables;
的var
型將包含兩個字符串name
和value
。
好的。所以一個腳本定義了例如:30個變量。現在,如果必須讀出其中一個變量,函數getVar
(或類似的東西)將不得不遍歷所有30個變量,並將它們的name
與所請求變量的名稱進行比較。想象一下,請求一個循環
我是否完全錯誤?如果是,那麼(現代?)腳本語言如何處理變量?他們如何存儲和讀出?
在通過語法(PHP:
$myVar
)明確定義變量的語言中,解釋器可以在解析過程中用數值替換所有變量。 (我對嗎?) 這是這種情況嗎?
@lamas - 祝你好運。有時你會想把你的頭髮拉出來......但是編譯器和解釋器很棒。 – 2010-02-02 00:02:10