程序学/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;
这样的内容都会抛出一个异常。
由于赋值函数可以直接访问变量,因此它们不受此更改的影响。