假设语言的解释器(可以是从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