当我跑步时,ruby -version我得到:
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin11.0]
-e:1: undefined local variable or method `rsion' for main:Object (NameError)
Run Code Online (Sandbox Code Playgroud)
可能有什么不对?
Ric*_*d_G 37
使用ruby -v或ruby --version.它正在将-version解析为rsion.
这两个中的任何一个都有效.计算短划线的数量:
ruby -v
ruby --version
Run Code Online (Sandbox Code Playgroud)
当您使用"version"提供单个破折号时,Ruby会看到:
ruby -v -e rsion
Run Code Online (Sandbox Code Playgroud)
有一个-v选项和--version选项,但没有-version选项.(计算破折号.)为main:Object查看未定义的局部变量或方法'rsion'.
从这个线程,实际的原因很清楚:
如果你运行
ruby -version,因为你只使用一个破折号,"版本"这个词不会被视为一个标志,而是一个标志列表.在这种情况下,它会获取-v标志,该标志会打印版本信息.然后它尝试处理e标志,它基本上说"这行的其余部分是一个要执行的ruby脚本".所以ruby忠实地试图解析"rsion",这就是你得到NameError的地方.要获取版本信息,您可以执行
ruby -v或ruby --version.
| 归档时间: |
|
| 查看次数: |
4933 次 |
| 最近记录: |