有什麼辦法可以與Thor有兩個互斥選項?例如,我需要提供一個列表的選項。我可能有一個選項-l ent1 ent2 ent3 ent67
,我可能有一個選項-f
,我通過一個文件的內容ent1 ent2 ent3 ent67
。這兩個選項可以與Thor相互排斥,而無需在方法中編寫額外的處理代碼?Thor的互斥選項
1
A
回答
1
我還沒有找到一個內置的方式來做到這一點,但你可以用你自己的簡單檢查來完成它。這裏有一個Thor命令的例子,它可以做你想做的事情。
desc "command", "A command that does something."
option :list, aliases: 'l', type: :array
option :file, aliases: 'f'
def list
if options[:list] && options[:file]
puts "Use only one, --list(-l) or --file(-f)"
exit(0)
end
# Place the functions of the command here
end
希望這有助於!
+0
這正是我在我的應用程序中所做的:) – 2013-10-06 07:28:32
+0
而不是'exit(0)',我會'提升Thor :: Error',只使用一個:--list(-l)或--file( - F)「'。這樣,'$?'被設置爲非零,如果它是另一個調用Thor可執行文件的腳本,它可以正確處理它提供錯誤輸入的事實。 – 2015-08-21 15:36:43
相關問題
- 1. 與互斥項目
- 2. 互斥選擇框
- 3. 互斥jsf selectOneMenu項目
- 4. 互斥選擇/下拉
- 5. Angular 2互斥複選框
- 6. 在運行時選擇互斥體或虛擬互斥體
- 7. Android UI:什麼樣的佈局選項是互斥的?
- 8. 不同的LinqPad選項卡獲取相同的互斥量?
- 9. 帶有互斥項目的揹包
- 10. 項目控件中的互斥按鈕
- 11. 使用dat.GUI.js的互斥複選框API
- 12. MVC 3視圖上的互斥搜索選項
- 13. 如何讓Thor顯示選項?
- 14. Java互斥
- 15. 互斥對象
- 16. 互斥問題
- 17. 使用互斥
- 18. 互斥理解
- 19. 使NSOperations互斥
- 20. 與互斥
- 21. 如何讓單選按鈕互斥
- 22. 通過名稱鎖定(互斥選擇)
- 23. 取2個複選框列出互斥
- 24. 互斥引導複選框開關
- 25. 相互排斥對
- 26. 同步和互斥
- 27. 互斥真相表?
- 28. jquery互斥點擊
- 29. 實現互斥鎖?
- 30. 爲互斥事件
@Mat對不起,我認爲這個問題很明顯。 – 2013-03-23 12:52:59