2016-02-13 23 views
1

我正在处理很多动态变量,并且它们必须遵循它们原来的代码定义,以避免发生视觉错误,这是关于一个UI的元素,并且有很多随机变量,所以这里是一个简单的例子来代替:自动纠正动态变量

input = io.read() 
inputDouble = 2*input 
inputHalf = input/2 
afterInputDouble = inputDouble+1 
beforeInputDouble = inputDouble-1 
afterInputHalf = inputHalf+1 
beforeInputHalf = inputHalf-1 

有没有一种方法我可以改变我喜欢说

inputHalf = 10 

任何变量和使用变量inputHalf也将更新定义的变量集合纠正自己,就像afterInputHalf一样d beforeInputHalf

我也不能仅仅通过自己的定义,就像回忆起他们:

inputHalf = 10 
afterInputHalf = inputHalf+1 
beforeInputHalf = inputHalf-1 

,因为我会被重复了很多线,因为我想编辑的元素,每次过很多次。

有没有办法从变化或更好的方式再次纠正变量我可以在定义它们之前构造变量,所以每次我改变某些东西时其他变量也会改变以保持它们的定义?

+0

我很困惑的问题 – warspyking

+0

我的变量是gui的元素。所以当调整大小时,我必须编辑某些元素,但这样做会导致其他部分错误。就像我在盒子里面有一个盒子一样,并且我改变了外盒的大小,我需要内盒也改变。 – mhiekuru

+0

__index和递归 – warspyking

回答

2

简单变量不会自行更新。你可以使用函数来做到这一点。

所以不是

inputDouble = 2 * input 

这样做

inputDouble = function() return 2 * input end 

然后使用inputDouble()代替inputDouble

这样,当你把它inputDouble的值总是被更新。