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