Ruby Shoes -编辑列表和if语句的问题



我想运行一个程序,根据你在编辑列表中选择的性别改变背景。

Shoes.app do 
    para "your gender"
    list_box :items => ["female", "male"], 
    width => 120, :choose => "weiblich" do |list|
        @gender.text = list.text
    end
    @gender = para "#{@gender}"
    button "change colours" do
        if @gender ="female"
            background (deeppink)
        else @gender ="male"
            background (dodgerblue)
        end
    end
end

问题是-无论我做什么,如果我使用if语句,突然总是"女性"是在变量和我的背景是粉红色的,尽管当我选择"男性"。如果我输入

...
button "change colours" do
para @gender
end
....

正确的性别在变量@gender中。有人知道是什么问题吗?

您需要if @gender == "female"if @gender == "male" -注意两个=符号

您正在执行赋值,而不是测试是否相等。

最新更新