2011-05-14 57 views
4

我需要一种方法从highline中包含的ask方法中删除换行符。这里是我当前的代码:如何从Highline库中的ask方法中删除换行符?

pass = ask("Enter your password > ") { |passman| passman.echo = false } 

但每当我运行的是,输出

Enter your password > 
(typing goes here) 

,我希望这不要有一个换行符。有什么建议么?

+0

有些事情错在这里。在你的例子中 - 最后一个空格 - HighLine应该提示没有换行符。如果你最后忽略空格,你会得到你在这里显示的结果。不知何故,你的问题和提供的答案有相反的方向。 – patrikf 2013-10-11 08:48:43

回答

7

doc: highline说:

如果所提供的声明与一个 空间或标签字符结尾,换行符将 不被追加(输出将是 平齐()ED)。

所以有空间尝试:

pass = ask("Enter your password > ") { |passman| passman.echo = false } 
+0

不幸的是,这并没有奏效。无论如何感谢您的帮助! – Mark 2011-05-14 21:28:22

+0

这一定是一个暂时的小故障,一个小时后,当我回来时,它正在工作。非常感谢,我对之前的混音表示歉意。 – Mark 2011-05-14 22:34:40

+1

需要注意的是,如果使用着色,则需要将字符串稍微涂抹以停止高线打印换行符 – Rob 2011-10-26 15:01:41