我有两个类变量,@ticks并且@dings,这两个我要开始在1.
其它功能偶尔添加各种数额@ticks,并@dings通过将增加1每次@ticks达到或超过 (@dings * 100) + (@dings * 10).
我想dings += (number of times met or surpassed)在任何导致@ticks达到或超过当前值(@dings * 100) + (@dings * 10)一次或多次的操作之后立即执行.
这是一个合适的解决方案?
def increment_ticks
while @ticks >= (@dings*100) + (@dings*10)
@dings += 1
end
end
Run Code Online (Sandbox Code Playgroud)
我只是在increment_ticks每次@ticks添加时调用(或increment_ticks在所有添加的函数中添加适当的位置@ticks).
由于除以110向下舍入@dings相同@ticks,最简单的方法是根本不增加@dings,而是每次只需要计算它.
您的类可以有一个dings()方法返回@ticks除以110 的数字.