在ruby程序开始时使用“#!/ usr / local / bin / ruby​​ -w”是什么

在ruby程序开始时使用以下命令的用法是什么?

#!/usr/local/bin/ruby -w

它是操作系统特定的命令吗?是否适用于Windows上的ruby?如果没有,那么Windows中的等效命令是什么?

Shebang行是可选的,如果您运行ruby解释器,并将脚本作为命令行参数传递给它,那么在命令行中设置的标志是ruby运行的标志。

一个Shebang线根本不是ruby(除非你想把它称为ruby评论)。它真的是shell脚本。大多数linux和unix用户正在运行BASH shell(代表Borne Again SHell),但是几乎每个操作系统都有一个命令解释器,将会荣幸的Shebang。

“#!/ usr / local / bin / ruby​​ -w”

“她”部分是八角形(#),又名英镑,数字符号,哈希标记和现在的哈希标签(我仍然称之为tic-tac-toe只是cuz)。

“爆炸”部分是惊叹号(!),就像敲你的拳头在桌子上喊出命令。

在Windows上,“Shell”是命令提示符,但是即使没有黑色的DOS窗口,命令解释器将根据文件关联运行脚本。如果命令解释器或编程语言正在阅读shebang并确保标志是荣幸的,重要的是,他们是荣幸的并不重要。

“-w”是一个标志。基本上这是Ruby的运行脚本时要遵循的指示。在这种情况下,“-w”会打开警告,因此在脚本执行期间会收到额外的警告(脚本不断运行)或错误(脚本停止运行)。在程序中可以抓住并采取警告和例外。这些帮助程序员发现导致意外行为的问题。

我是一个快速和肮脏的脚本的粉丝,以完成工作,所以没有-w。我也是高品质可重用编码的粉丝,所以一定要用-w。正确的工作正确的工具。如果你正在学习,那么总是用-w。当你知道你在做什么,并停止使用快速任务时,你会开始弄清楚什么时候会帮助使用 – 而不是花费小时的时间来解决问题。 (提示,当问题的原因不是很明显,只需添加-w并运行它,看看你得到什么)。

“-w”需要一些额外的编码才能清楚地表明你的意思是红宝石,所以它不会立即解决问题,但是如果你已经用-w编写了代码,那么添加必要的位就不会有太多的麻烦使一个小脚本运行与警告。事实上,如果你习惯使用-w,你可能已经在编写代码了,-w不会改变任何东西,除非你忘记了一些东西。 Ruby需要更少的“管道代码”,然后大多数(也许所有)编译的语言,如C,所以选择不使用-w不允许你保存很多打字,它只是让你在尝试运行脚本(IMHO )。

-v是详细模式,并且不会更改脚本的运行(不会引发警告,不会在新位置停止脚本)。多个站点和讨论调用-w详细模式,但-w是警告模式,它会更改脚本的执行。

http://stackoverflow.com/questions/17447532/what-is-the-use-of-usr-local-bin-ruby-w-at-the-start-of-a-ruby-program

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:在ruby程序开始时使用“#!/ usr / local / bin / ruby​​ -w”是什么