Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 有没有办法摆脱“一个”的困境;";IRB中的状态?_Ruby On Rails_Ruby_Irb - Fatal编程技术网

Ruby on rails 有没有办法摆脱“一个”的困境;";IRB中的状态?

Ruby on rails 有没有办法摆脱“一个”的困境;";IRB中的状态?,ruby-on-rails,ruby,irb,Ruby On Rails,Ruby,Irb,当使用irb或rails控制台时,我有时会卡住。例如,我忘记了结束报价,所以当我按enter键时,它仍在等待 有时我可以摆脱这种情况(例如,通过提供结束报价),但有时我不能。如果没有,我通常会执行以下操作: # Suspend the irb or console process (Control + Z) # Kill the last suspended process kill -9 % 这很烦人,干扰了我在控制台中所做的一切。我想要的是命令行上的Control+C,意思是“忘记它-给

当使用
irb
rails控制台时,我有时会卡住。例如,我忘记了结束报价,所以当我按enter键时,它仍在等待

有时我可以摆脱这种情况(例如,通过提供结束报价),但有时我不能。如果没有,我通常会执行以下操作:

# Suspend the irb or console process
(Control + Z)

# Kill the last suspended process
kill -9 %
这很烦人,干扰了我在控制台中所做的一切。我想要的是命令行上的
Control+C
,意思是“忘记它-给我一个新的提示”,这样我就可以继续在控制台中工作了


有办法吗?

按一次或两次
Control+D
。当你得到递归或者Ctrl+D不起作用时

您可以终止当前进程(
$$


D代表Dogbert?:)这似乎奏效了。你知道它实际上在做什么吗?:D.Control+D向流发送一个EOF字符。有趣。所以我想这符合“Unix中的一切都是文件”的理念——包括我当前的终端输入。有趣的是,我一直认为,
ctrl+D
代表断开连接。我必须承认,Control+C通常会帮我解决问题。@Zoltars-这不是把你踢出控制台吗?@Nathan nope<代码>控制+D
执行(输入足够次数时)。它还使您退出终端会话、ssh会话、su和所有其他类型的会话。
exec("kill -9 #{$$}")