暂停 "until" 循环并等待按键继续 (Ruby)

Pause an "until" loop and wait for a keypress to continue (Ruby)

我有一个带有 until 循环的方法,它一直调用另一个方法,直到第三个方法 returns 为真。这基本上是检查拼图是否已解决。

def call_loop
  until solved?  #returns true if puzzle is solved
    flip         #changes one piece on the board    
  end
end

有没有办法让这个循环在每次调用 flip 方法之前暂停并等待用户按下空格键?

简单的解决方案是在 flip 之前添加一个 gets。然后它会等你回车。

如果您真的想要等待空格键,您可以使用 curses。它可以在终端中进行强大的输入处理,但它会变得非常复杂。如果您使用的是 Ruby 2.1.0 或更早版本,curses 是 stdlib. Otherwise you'll need one of the gems.

的一部分