`

Programming Ruby(读书笔记)-15章(Ruby and its World)

    博客分类:
  • Ruby
 
阅读更多

15.1 Command-Line Arguments命令行参数

命令行参数格式:

ruby <options><-><programfile><arguments>*

options:运行参数,传给ruby的解释器

programfile:运行的文件名

arguments:传给程序的参数

第一个没有使用-或者--开头的参数被认为是options的结束。当在options后跟一个-而且没有文件名时,将从标准输入中获取程序内容。

 

Options

-0[octal] 0标志(数字零)指定记录的分隔字符(,如果没有数字跟随)。-00指出段落模式:记录由两个连续的缺省记录分隔字符分隔。-0777一次读入整个文件(它像个非法字符)。设置$/。

 

-a 当使用-n或-p时的自动分离模式,等价于在每个循环迭代器上执行$F = $_.split。

 

-C directory 在运行之前修改工作路径。

 

-c 只检查符号,不运行程序。

 

-copyright 打印版权信息并退出。

 

-d, -debug 设置 $DEBUG 和 $VERBOSE 为 true。这可以用于你的程序的额外追踪。

 

-e 'command' 执行做为一行Ruby源码的命令。允许几个-e,在同一程序中命令被视做多行。当-e出现时,如果程序文件被忽略,在-e命令被运行完后中止运行。程序运行时使用-e可访问旧的条件中的范围和正则表达式的行为-整数范围比较当前输入行号,正式表达式匹配$_。

 

-F pattern 指定用于split()的缺省输入字段分隔符($;)(影响-a选项)。

 

-h, -help 显示一个简短的帮助屏幕。

 

-I directories 指定预定义的$LOAD_PATH($:)指令。可以有多个-I选项。每个-I后可有多个用冒号:分隔的指令。在类Unix系统上是分号(;)。

 

-i[extension] 以替换形式编辑ARGV文件。ARGV内的每个文件名,你写入到标准输出的任何东西,都将被回储到那个文件的内容中。如果有扩展名的话,备份文件会被保留下来。

 

% ruby -pi. bak –e "gsub(/Perl/, 'Ruby')" *.txt

 

-K kcode 指定要使用的编码。当Ruby使用日语时这个选项很有用。Kcode可以是这些当中的一个: e, E for EUC; s, S 对应 SJIS; u, U 对应 UTF-8; or a, A, n, N 对应 ASCII.

 

-l 自动进行行尾处理;设置$的值为$/,并且对读入的行自动地进行String#chop!处理。

 

-n Assumes a while gets; ...; end loop around your program. For example, a simple grep command could be implemented as

 

% ruby –n –e "print if /wombat/" *.txt

 

-p Places your program code within the loop while gets; ...; print; end.

 

% ruby –p –e "$_.downcase!" *.txt

 

-r library 在运行前请求给出名字的库。

 

-S 查看程序文件是否使用了RUBYPATH或PATH环境变量。

 

-s Any command-line switches found after the program filename, but before any filename arguments or before a , are removed from ARGV and set to a global variable named for the switch. In the following example, the effect of this would be to set the variable $opt to "electric".

 

% ruby -s prog -opt= electric ./mydata

 

-T[level] 设置安全级别,执行不纯度测试(见379页)。设置$SAFE。

 

-v, -verbose 设置$VERBOSE为true,打开冗长模式。也打印版本号。在冗长模式中,可打印编译警告。如果命令行上没有指定文件名,则Ruby退出。

 

--version 显示Ruby的版本信息并退出。

 

-w 打开冗长模式。与-v不同,如果命令行上没有指定文件名则从标准输入读入程序。我们推荐带 –w 来运行你程序。

 

-W level 设置警告的级别。可有一个或两个级别(或者没指定级别),等价于-w—给出额外的警告。如果级别为1,运行在标准(缺省)警告级别上。使用-W0则不显示警告(包括使用Kernel.warn的警告)。

 

-X directory 在运行前更改工作目录。类似于-c directory 。

 

-x [directory] 从#!Ruby行取出文本,如果指定目录的话,并且要修改工作目录。

 

-y, -yydebug 在解析器中打开yacc调试器。

 

程序参数:ARGV与ARGF

ARGV.each {|arg| p arg }

 $0存放的是当前运行的程序名,别名:$PROGRAM_NAME

 

 -------------------------------决定暂告一段------转站Ruby的那些模块及CF,后面再把高级部分补上----------

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics