2010-05-23 39 views
1

我在Ruby中使用Highline時遇到了一些問題,並試圖讓選擇元素detailed here工作。獲取'選擇'在Highline Ruby Gem中工作而沒有錯誤並且從中變得可變

  1. 在下面的代碼產生錯誤 的時刻「的錯誤:錯誤的參數數目(0 1)使用--trace查看回溯。」
  2. 我怎麼變出來的選擇?目前我有'做'設置,但我不知道如何獲得用戶選擇的變量並將其用於其他地方使用的變量。

對不起,如果這是一個初學者,我是全新的紅寶石,這是我的第一個項目,在深處。

在此先感謝。

if agree("Are these files going to be part of a set? ") 
     set_title = ask("Title: ") 
     set_desc = ask("Description:") 
     set_genre = ask("Genre: ") 
     set_label = ask("Record Label: ") 
     set_date = ask_for_date("Release Date (yy-mm-dd): ") 
     set_label = ask("EAN/UPC: ") 
     set_buy = ask("Buy this set link: ") 
     set_tags = ask_for_array("Tags (seperated by space): ") 

     # Sort out license 
     choose do |menu| 
     menu.prompt = "Please choose the license for this set? " 

     menu.choices(:all_rights_reserved, :cc_by) do 
      # put the stuff in a variable 
     end 
     end 
    end # End setup set 
+0

哪線給你一個問題,到底是什麼? 'choose'部分在Ruby 1.8或1.9中正常工作。 'ask_for_date'似乎是一個自定義的方法,因爲'ask_for_array',所以不能幫你在那裏... – 2010-05-23 15:01:00

+0

這是我的會話記錄: \t Alex-Andrewss-MacBook-Pro:SoundCloud- CLI alex $ ruby​​ sc.rb上傳/用戶/ alex/SoundCloud-CLI \t這些文件將成爲集合的一部分嗎? ÿ \t名稱:你好 \t描述: \t你好 \t類型:你好 \t唱片:你好 \t發行日期(年 - 月 - 日):10年9月10日 \t EAN/UPC:你好 \t購買此套件鏈接:你好 \t標籤(空格隔離):你好好友 \t錯誤:參數數量錯誤(0代表1)。使用 - 跟蹤查看回溯 非常感謝您的幫助。 – Alex 2010-05-23 19:47:56

回答

1

1)未提供足夠的信息(見我的評論)

2)使用塊參數:

menu.choices(:all_rights_reserved, :cc_by) do |chosen| 
    puts "Item chosen: #{chosen}" 
end 

您也可以分割你的選擇:

menu.choice(:all_rights_reserved) do 
    puts "Chosen: All Rights Reserved" 
    #... 
end 

menu.choice(:cc_by) do 
    puts "Chosen: CC by" 
    #... 
end 
+0

2)的解決方案非常好,謝謝。 關於1)我將以下內容複製到新文件中。 要求'rubygems' 要求'指揮官/進口' 選擇做|菜單| menu.prompt = 「請選擇此設置許可證?」 menu.choices(:all_rights_reserved,:cc_by)做|選擇| 看跌期權 「項目中選擇:#{}選擇」 端 端 這失敗,出現以下錯誤: scratch.rb:5:在'選擇':錯誤的參數數目(0 1)(引發ArgumentError) 改變線路需要'指揮官',它的工作原理,但其他事情打破 – Alex 2010-05-23 20:10:05

相關問題