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