我希望从用户那里读取数据,但是,我不希望输入直接显示在屏幕上。相反,我想将其留空,或者更好的是,用星号混淆要输入的字符。
例如:
print "Password: "
pass = STDIN.gets.chomp
我希望从用户那里读取数据,但是,我不希望输入直接显示在屏幕上。相反,我想将其留空,或者更好的是,用星号混淆要输入的字符。
例如:
print "Password: "
pass = STDIN.gets.chomp
假设您至少使用 ruby 1.9,您可以使用以下noecho
方法IO
:http ://www.ruby-doc.org/stdlib-2.0/libdoc/io/console/rdoc/IO.html#method-i-noecho
所以:
require 'io/console'
print "Password: "
STDIN.noecho(&:gets).chomp
这不会混淆字符,而只会将输入终端留空。