NameError: undefined local variable or method 'v' for main:Object

NameError: undefined local variable or method 'v' for main:Object

刚刚安装并计划今天 Ruby 启动,运行 通过几行代码测试以确保一切安装正确。简单的数学和 puts 命令工作正常,但是当我尝试打印我正在使用的版本时,我收到了这个错误。

我输入的代码以及我收到的后续代码和错误消息是:

 PS C:\Users\Luke> irb
 irb(main):001:0> ruby -v
 NameError: undefined local variable or method 'v' for main:Object
    from (irb):1
    from C:/Ruby200/bin/irb:12:in '<main>'
 irb(main):002:0>

在我在 Whosebug 上发现的四个类似问题中,以及来自 google 的少数问题中,有相当多的 NameErrors 但没有使用 "ruby -v" 作为输入,我是还不够熟练,无法从我找到的答案中收集到任何有用的信息。

我正在使用 Windows 10 和 Ruby 版本 2.0.0-p647。

我在这里很困惑。我应该对我的路径变量做些什么吗?这通常是我检查的第一件事,但安装程序有一个 "add Ruby executables to your PATH," 的复选框,所以我认为这已经解决了。当我检查环境变量时,它没有改变,仍然是 Windows 默认值,但是如果 PATH 设置不正确,最基本的 Ruby 命令不会在终端中工作吗?

如有任何帮助,我们将不胜感激!

ruby -virb

中不起作用

您需要输入RUBY_VERSION

在交互式会话中获取 Ruby 版本信息

从 REPL 中的命令行标志获取输出

使用反引号在 irb 或 pry 等 REPL 中捕获 shell 命令的输出。例如:

`ruby -v`
#=> "ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin14]\n"

从 Ruby 个常量中获取数据

你想要的数据也存储在各种Ruby常量中。例如:

[RUBY_VERSION, RUBY_PATCHLEVEL, RUBY_RELEASE_DATE, RUBY_REVISION, RUBY_PLATFORM]
#=> ["2.2.3", 173, "2015-08-18", 51636, "x86_64-darwin14"]

从常量构造等效字符串

您可以将常量的值放入与解释器的 -v 标志输出相匹配的字符串中,但您必须自己构造字符串。例如:

sprintf "ruby %sp%s (%s revision %s) [%s]\n",
  RUBY_VERSION, RUBY_PATCHLEVEL, RUBY_RELEASE_DATE, RUBY_REVISION, RUBY_PLATFORM
#=> "ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin14]\n"