Ruby 命令行选项
Ruby通常以以下方式从命令行运行-
ruby [options] [--] [programfile] [arguments]
可以使用以下任何选项来调用解释器,以控制解释器的环境和行为。
选项 |
说明 |
-0[octal] |
指定记录分隔符(\0,如果没有参数) |
-a |
-n或-p自动拆分模式(将$_拆分为$F) |
-c |
仅检查语法 |
-Cdirectory |
在执行脚本之前,先将其cd到目录 |
-d, --debug |
设置调试标志(将$ DEBUG设置为true) |
-e 'command' |
一行脚本。 允许使用-e。 省略[程序文件] |
-Eex[:in], --encoding=ex[:in] |
指定默认的外部和内部字符编码 |
-Fpattern |
split()模式用于自动拆分(-a) |
-i[extension] |
在适当位置编辑ARGV文件(如果提供扩展名,请进行备份) |
-Idirectory |
指定$LOAD_PATH目录(可以多次使用) |
-l |
启用行结束处理 |
-n |
假设'while gets(); ...结束脚本的循环 |
-p |
假设像-n这样的循环,但打印行也像sed |
-rlibrary |
在执行脚本之前需要库 |
-s |
在脚本名称之后为交换机启用一些交换机解析 |
-S |
使用PATH环境变量查找脚本 |
-v |
打印版本号,然后打开详细模式 |
-w |
为您的脚本打开警告 |
-W[level=2|:category] |
设置警告级别; 0 =静音,1 =中,2 =详细 |
-x[directory] |
在#!ruby行之前删除文本,也许将cd删除到目录 |
--jit |
使用默认选项启用JIT(实验性) |
--jit-[option] |
通过选项启用JIT(实验性) |
--copyright |
打印版权 |
--dump={insns|parsetree|...}[,...] |
转储调试信息。 请参阅下面的可用转储列表 |
--enable={gems|rubyopt|...}[,...], --disable={gems|rubyopt|...}[,...] |
启用或禁用功能。 请参阅以下可用功能 |
--external-encoding=encoding, --internal-encoding=encoding |
指定默认的外部或内部字符编码 |
--verbose |
打开详细模式并从stdin禁用脚本 |
--version |
打印版本号,然后退出 |
--help |
显示此帮助信息,-h表示短消息 |
导出列表 |
insns |
指令序列 |
yydebug |
yacc解析器生成器的yydebug |
parsetree |
AST |
parsetree_with_comment |
AST与评论 |
特性 |
gems |
rubygems(默认值:enable) |
did_you_mean |
did_you_mean(默认值:enable) |
rubyopt |
RUBYOPT环境变量(默认值:enable) |
frozen-string-literal |
冻结所有字符串文字(默认值:disable) |
jit |
JIT编译器(默认值:disable) |
警告类别 |
deprecated |
弃用 |
experimental |
实验性的 |
JIT 选项 (实验性的): |
--jit-warnings |
启用打印JIT警告 |
--jit-debug |
启用JIT调试(非常慢),或者在指定的情况下添加cflags |
--jit-wait |
等待直到每次JIT编译完成(用于测试) |
--jit-save-temps |
以$TMP或/ TMP格式保存JIT临时文件(用于测试) |
--jit-verbose=num |
将级别num或更少的JIT日志打印到stderr(默认:0) |
--jit-max-cache=num |
缓存中被jit化的方法的最大数量(默认值:100) |
--jit-min-calls=num |
触发JIT的调用数量(对于测试,默认为:10000) |
可以组合使用单个字符的命令行选项。以下两行表示相同的意思-
$ ruby -ne 'print if /Ruby/' /usr/share/bin
$ ruby -n -e 'print if /Ruby/' /usr/share/bin