我在嘗試使用list_box從不同類型的轉換中進行選擇。當我啓動程序並輸入一個數字時,它什麼都不做,但是如果我點擊list_box中的下一個項目,它可以正常工作。這讓我覺得我的方法沒有從list_box獲取它的值。這裏的代碼:list_box在啓動時不會使用默認值 - Shoes。
Shoes.app :title=> 'Temperature Converter', :width => 200, :height => 200 do
def convert(temp, unit='C')
if unit == "C"
(temp.to_i * 9.0/5.0) + 32.0
elsif unit == "F"
"Fail"
end
end
list_box :items => ["C", "F"], :choose => "C" do |item|
@unit.text = item.text
end
line1 = edit_line :width => 100
button 'Compute' do
@result.text = convert(line1.text, @unit.text)
end
@unit = para
@result = para
end
我試着設置'C'作爲默認變量,但也沒有工作。有沒有辦法強制list_box在啓動時發送它的值?
此外,如果我從末尾刪除「@unit = para」,它將不會打印任何內容,即使是@result也不相關。這是爲什麼?
任何幫助都會很棒。
我試過了您的代碼,但現在計算完全不會出現! – facetoe 2012-01-31 01:11:54
我注意到了這個問題。在計算中使用它之前,我認爲將值傳遞給'@ unit.text'是一個不必要的複雜層。嘗試將我編輯的代碼放入我的答案中。這個對我有用。 – SimonMayer 2012-01-31 01:33:21
這很有魅力。謝謝! – facetoe 2012-01-31 04:08:37