HighLine是一個用於緩解控制檯輸入和輸出的Ruby庫。它提供的方法可以讓您請求輸入並驗證它。有沒有提供類似於Python的功能的東西?是否有與HighLine相當的Python?
顯示什麼海萊不看下面的例子:
require 'highline/import'
input = ask("Yes or no? ") do |q|
q.responses[:not_valid] = "Answer y or n for yes or no"
q.default = 'y'
q.validate = /\A[yn]\Z/i
end
它問:「是還是不是?」並讓用戶輸入的東西。只要用戶不輸入y或n(不區分大小寫),它就會輸出「回答y或n是或不是」,並讓用戶再次輸入答案。此外,如果用戶按Enter鍵,則默認爲y。最後,當它完成時,輸入存儲在input
中。這裏是用戶首先輸入「EH ???」的示例結果然後是「y」:
Yes or no? |y| EH??? Answer y or n for yes or no ? y
Python是否有類似的簡單方法?
實現起來並不困難。這只是一個正則表達式。請參閱['re'](http://docs.python.org/2/library/re.html)模塊。 – Bakuriu 2013-02-19 17:29:05
你在Python中的確切例子可以在[Sergii Boiko的github](https://github.com/cris/ruby-quiz-in-python/blob/master/src/highline.py) – 2013-02-19 18:20:42
@BurhanKhalid如果它回答了您可能想要將其解釋爲問題的答案。 – 2013-02-19 20:01:07