1.ruby编码
ruby使用ASCII编码来读源码,中文会出现乱码
解决方法:# -*- coding: UTF-8 -*- 或者 #coding=utf-8
2.ruby命令行选项
格式:$ ruby [ options ] [ . ] [ programfile ] [ arguments ... ]
-a : 与-n 或 -p 一起使用时,可以打开自动拆分模式(auto split mode)
-c :只检查语法,不执行程序
-C dir :在执行前改变目录,等价于-X
-d :启用调试模式,等价于-debug
-F pat :指定pat作为默认的分离模式
-e prog :指定prog作为程序在命令中执行。可以指定多个-e选项,用来执行多个程序
-h :显示命令行选项的一个概览
-i [ext] : 把文件内容重写为程序输出,原始文件会被加上扩展名ext保存下来。如果未指定ext,原始文件会被删除
-l dir : 添加dir作为加载库的目录
-K [kcode] : 指定多字节字符集编码。e 或 E 对应 EUC(extended unix code),s或S对应SJIS(Shift-JIS),u或U对应UTF-8,a、A、n或N对应ASCII
-l : 启用自动行尾处理。从输入行取消一个换行符,并向输出行追加一个换行符。
-n : 把代码放置在一个输入循环中,就像在while gets;... end中一样
-0[octal] : 设置默认的记录分隔符($/)为八进制,如果未指定octal则默认为\0
-p : 把代码放置在一个输入巡皇中,在每次迭代后输出变量 $_的值
-r lib : 使用require来加载lib作为执行前的庫
-s : 解读程序名称和文件名称参数之间的匹配模式 -xxx 的任何参数作为开关,并定义相应的变量
-T [level] : 设置安全级别,执行不纯度测试,如果未指定level,则默认值为1
-v : 显示版本,并启用冗余模式
-w :启用冗余模式,如果未指定程序文件,则从STDIN读取
-x [dir] : 删除 #!ruby 行之前的文本。如果指定了dir,则把目录改变为dir
-X dir : 在执行前改变目录,等价于-C
-y :启用解析器调试模式
--copyright :显示版权声明
--debug : 启用调试模式,等价于-d
--help : 显示命令行选项的一个概览,等价于-h
--version :显示版本
--verbose : 启用冗余模式,等价于-v,设置$VERBOSE为true
--yydebug : 启用解析器调试模式,等价于-y
单字符的命令行选项可以组合使用,下面两行表达了同样的意思:
$ ruby -ne 'print if /Ruby/' /usr/share/bin
$ ruby -n -e 'print if /Ruby/' /usr/share/bin