程序学/Sway 演示文稿/对象/PublicAndPrivateComponents2
外观
公共和私有组件
我们重载赋值,以便只有变量会出现在赋值运算符的左侧。
function =($a,b)
{
var assign = shadowed(:=);
if (type($a . code) != :VARIABLE)
{
throw(:restrictedAssignment,
"you are only allowed to assign to simple variables");
}
$a assign b;
}
因此,任何类似于
x . a = 3;
这样的内容都会抛出一个异常。
由于赋值函数可以直接访问变量,因此它们不受此更改的影响。