我做了一个交互式 rake 任务来完成管理工作。此任务通过输入STDIN.gets.strip
并在本地按计划运行:我输入一些值,按下Enter
,任务进一步运行,在 next 停止STDIN.gets.strip
。
但是当我尝试通过heroku
gem(在 Windows 7 中)在 Heroku 上运行它时:
heroku run rake admin --app my-application
它将按键识别Enter
为按下了两次——第一次是有值的,第二次是Enter
没有值的。
如何防止这种行为?我可以在之后以某种方式清理输入缓冲区STDIN.gets.strip
吗?