IRB 中的符号是什么意思?

What do symbols mean in IRB?

我在 ruby-doc 中找不到任何相关信息。

我可以在 IRB 中拥有这样的东西:

2.2.0 :012">

2.2.0 :012?>

我不知道那些符号是什么意思。你知道?是警告我漏了一个吗?还是一个"

如果您使用 rvm, they have a custom irb.rc file,则为 irb 定义了一些不同的行为。特别是,有这个部分:

@prompt = {
  :PROMPT_I => "#{rvm_ruby_string} :%03n > ",  # default prompt
  :PROMPT_S => "#{rvm_ruby_string} :%03n%l> ", # known continuation
  :PROMPT_C => "#{rvm_ruby_string} :%03n > ",
  :PROMPT_N => "#{rvm_ruby_string} :%03n?> ", # unknown continuation
  :RETURN => " => %s \n",
  :AUTO_INDENT => true
}

所以 ? 意味着这是一个未知的延续,并且不确定如何提示您完成当前命令。 " 会在您有不匹配的引述时显示,如下所示:

irb(main):024:0> "foo
irb(main):025:0" "
=> "foo\n"
irb(main):026:0>