如何在命令行中退出IRB?(使用Mac上的终端)

28

基本上,我在终端中打字很顺利,使用IRB来运行Ruby命令:

2.0.0-p0 :014 > bank_account.withdraw(2222)
 => -1222 

但有时我会不小心漏掉引号。

2.0.0-p0 :020 > BankAccount.create_for("Jim","Johnson)
2.0.0-p0 :021"> bank_account.withdraw(333)

仔细观察,您会发现我错过的引号出现在左侧的行号旁边,紧挨着补丁版本。

从这里开始,每次运行命令都会出现那个引号!它阻止了命令的正常工作:

2.0.0-p0 :021"> BankAccount.create_for("Julian","Hurley")
2.0.0-p0 :022"> BankAccount.create_for("Katt","Smith")
2.0.0-p0 :023"> exec($0)

我想知道的是,如何消除那个引号?或者如何通过命令行退出IRB以进行重置?

6个回答

43
如果你还没有关闭引号,只需输入引号然后按回车即可。
退出控制台可以通过键入“exit”来完成,但在这种情况下,您需要按Control-C。

如果你犯了两次错误怎么办?比如说,先输入了 puts 'hi 然后又输入了一遍 puts 'hi - mfaani
1
这会导致错误,因为当它遇到第二个 ' 时,它会关闭字符串,然后尝试将 hi 作为关键字进行评估。 - muttonlamb

18

按下 Control - C 键,然后再按下 Control - Z 键。

我希望这有所帮助!

1
相信 C-z 只是将进程放到后台而不是终止它。您可以键入“jobs”进行验证,然后键入“fg 1”(或任何作业编号)以恢复该进程。 - Josh Bodah

17

我遇到了同样的问题。要在终端中退出irb,请输入 exit 命令。


7

使用Ctrl-D,它是irb的输入结束符。如果你正在执行某个命令,请先使用Ctrl-C终止该命令的输入。


5

输入quit()并按下Enter退出Ruby。


0

如果你正在一段多行代码块中(根据解释器的定义),按下Ctrl+C可以退出该块。

然后您可以执行以下任何操作以退出:

  • exit(或exit()
  • quit(或quit()
  • irb_exit(或irb_exit()
  • Ctrl+D(发送EOF字符)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接