如何设置"获取"使用默认输入值调用?

时间:2014-11-27 22:56:55

标签: ruby

如果我有gets.chomp语句,如何设置它以使默认输入是自定义消息?

favorite_ice_cream = gets.chomp(default_message)  #I know this isn't valid Ruby syntax

=> Chocolate

我希望能够在输入用户输入之前在终端中编辑输入字符串“chocolate”。

1 个答案:

答案 0 :(得分:2)

没有内置方法可以做到这一点。您必须实现一个线程,等待一小段时间,在gets命令就位并运行的情况下写入STDIO(输入)。除此之外,您只需将其打印到屏幕上并让该人员重新输入。

我推荐gem highline用于用户输入。您可以gets使用ask而不是ask("Company? ") { |q| q.default = "none" },而是提供默认值:Company? |none|,输出ENTER。这样您只需点击gets键即可使用默认,也可以输入(但不能编辑)新条目。

使用highline你不必使用chomp。

但问题的答案是在{{1}}等待输入时使用线程将IO流写入输入。