我想用Highline gem实现Ruby密码输入。由于我要求用户输入密码两次,我希望能够消除我传递的块中的重复部分。例如,我目前正在执行的简单版本是:
new_pass = ask("Enter your new password: ") { |prompt| prompt.echo = false }
verify_pass = ask("Enter again to verify: ") { |prompt| prompt.echo = false }
我希望将它更改为类似于这样的形式:
foo = Proc.new { |prompt| prompt.echo = false }
new_pass = ask("Enter your new password: ") foo
verify_pass = ask("Enter again to verify: ") foo
很不幸,这不起作用。正确的方法是什么?