在堆栈/流对象中存储信息

时间:2011-04-06 21:03:04

标签: ruby shoes

说我有以下类型的应用程序:

Shoes.app do
    @i = 0

    def add_button
        button ("#{@i += 1}")
    end

    button("0") {add_button}
end

因此,每次单击该按钮时,它都会添加一个具有更高编号的新按钮。有没有办法对其进行编码,以便单击其中一个新按钮显示其编号?由于self始终指向应用,因此显而易见的方法

button ("#{@i += 1}") {alert @i}

不起作用,因为点击任何按钮只会显示当前值@i

1 个答案:

答案 0 :(得分:1)

Shoes.app do
    @i = 0

    def add_button
        n = @i+1
        button ("#{@i += 1}") {alert n}
    end

    button("0") {add_button}
end