2016-02-13 64 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的值總是被更新。