序号 |
方法 & 描述 |
1 |
abort
终止程序。 如果引发异常(即 $! 不是 nil),则会显示其错误消息。 |
2 |
Array( obj)
使用 to_ary 或 to_a 将其转换为数组后返回 obj。 |
3 |
at_exit {...}
在程序退出时注册一个块以供执行。 类似于 END 语句,但 END 语句只注册一次块。 |
4 |
autoload( classname, file)
注册第一次使用时从文件中加载的类类名。 classname 可以是字符串或符号。 |
5 |
binding
返回当前变量和方法绑定。 返回的 Binding 对象可以作为第二个参数传递给 eval 方法。 |
6 |
block_given?
如果使用 block 调用该方法,则返回 true。 |
7 |
callcc {| c|...}
将 Continuation 对象 c 传递给块并执行该块。 callcc 可用于全局退出或循环构造。 |
8 |
caller([ n])
以 file:line 形式的字符串数组返回当前执行堆栈。 如果指定了 n,则从第 n 级向下返回堆栈条目。 |
9 |
catch( tag) {...}
通过在其块执行期间调用的 throw 捕获非本地退出。 |
10 |
chomp([ rs = $/])
返回变量 $_ 的值,去掉结尾的换行符,将结果赋回 $_。 换行字符串的值可以用 rs 指定。 |
11 |
chomp!([ rs = $/])
从 $_ 中删除换行符,就地修改字符串。 |
12 |
chop
返回 $_ 的值并删除其最后一个字符(一个字节),并将结果分配回 $_。 |
13 |
chop!
从 $_ 中删除最后一个字符,修改字符串。 |
14 |
eval( str[, scope[, file, line]])
将 str 作为 Ruby 代码执行。 可以使用 scope 指定执行评估的绑定。 要编译的代码的文件名和行号可以使用 file 和 line 指定。 |
15 |
exec( cmd[, arg...])
通过运行命令cmd替换当前进程。 如果指定了多个参数,则在没有 shell 扩展的情况下执行该命令。 |
16 |
exit([ result = 0])
退出程序,返回result作为状态码。 |
17 |
exit!([ result = 0])
绕过退出处理(例如ensure等)杀死程序。 |
18 |
fail(...)
参见 raise(...) |
19 |
Float( obj)
将 obj 转换为浮点数后返回。 数值对象直接转换; nil 转换为 0.0; 考虑 0x、0b 基数前缀转换字符串。 其余部分使用 obj.to_f 进行转换。 |
20 |
fork
fork {...}
创建一个子进程。 nil 在子进程中返回,子进程的ID(整数)在父进程中返回。 如果指定了块,它将在子进程中运行。 |
21 |
format( fmt[, arg...])
参见 sprintf。 |
22 |
gets([ rs = $/])
从命令行或标准输入中读取指定的文件名。 可以使用 rs 显式指定记录分隔符字符串。 |
23 |
global_variables
返回一个全局变量名数组。 |
24 |
gsub( x, y)
gsub( x) {...}
用 y 替换 $_ 中与 x 匹配的所有字符串。 如果指定了块,则匹配的字符串将替换为块的结果。 修改后的结果赋值给 $_. |
25 |
gsub!( x, y)
gsub!( x) {...}
执行与 gsub 相同的替换,只是字符串被原地更改。 |
26 |
Integer( obj)
将 obj 转换为整数后返回。 数值对象直接转换; nil 转换为 0; 考虑 0x、0b 基数前缀转换字符串。 其余的使用 obj.to_i 进行转换。 |
27 |
lambda {| x|...}
proc {| x|...}
lambda
proc
将块转换为 Proc 对象。 如果未指定块,则转换与调用方法关联的块。 |
28 |
load( file[, private = false])
从文件加载一个Ruby程序。 与 require 不同,它不加载扩展库。 如果 private 为 true,则程序被加载到匿名模块中,从而保护调用程序的命名空间。 |
29 |
local_variables
返回一个局部变量名数组。 |
30 |
loop {...}
重复一段代码。 |
31 |
open( path[, mode = "r"])
open( path[, mode = "r"]) {| f|...}
打开一个文件。 如果指定了块,则使用作为参数传递的打开的流执行该块。 块退出时文件会自动关闭。 如果 path 以管道 | 开头,则以下字符串作为命令运行,并返回与该进程关联的流。 |
32 |
p( obj)
使用其检查方法(通常用于调试)显示 obj。 |
33 |
print([ arg...])
将 arg 打印到 $defout。 如果没有指定参数,则打印 $_ 的值。 |
34 |
printf( fmt[, arg...])
使用 sprintf 根据 fmt 格式化 arg 并将结果打印到 $defout。 有关格式规范,请参阅 sprintf 了解详细信息。 |
35 |
proc {| x|...}
proc
请参阅 lamda。 |
36 |
putc( c)
将一个字符打印到默认输出 ($defout)。 |
37 |
puts([ str])
将字符串打印到默认输出 ($defout)。 如果字符串不以换行符结尾,则将换行符附加到字符串。 |
38 |
raise(...)
fail(...)
引发异常。 如果未指定异常类,则假定 RuntimeError。 调用 raise
rescue 子句中没有参数会重新引发异常。 在救援子句之外这样做会引发无消息的RuntimeError。 fail 是 raise 的过时名称。 |
39 |
rand([ max = 0])
生成一个大于等于 0 且小于最大值的伪随机数。 如果 max 未指定或设置为 0,则将随机数作为大于等于 0 且小于 1 的浮点数返回。srand 可用于初始化伪随机数 溪流。 |
40 |
readline([ rs = $/])
除了在读取 EOF 时引发 EOFError 异常外,等效于 gets。 |
41 |
readlines([ rs = $/])
返回一个字符串数组,其中包含指定为命令行参数的文件名或标准输入的内容。 |
42 |
require( lib)
在第一次调用时加载库(包括扩展库)lib。 require 不会多次加载同一个库。 如果 lib 中没有指定扩展名,require 会尝试向其添加 .rb、.so 等。 |
43 |
scan( re)
scan( re) {|x|...}
相当于 $_.scan。 |
44 |
select( reads[, writes = nil[, excepts = nil[, timeout = nil]]])
检查作为 IO 对象数组传递的三种 IO 对象输入、输出和异常的状态变化。 nil 传递给不需要检查的参数。 返回一个三元素数组,其中包含状态发生变化的 IO 对象的数组。 nil 超时返回。 |
45 |
set_trace_func( proc)
设置跟踪处理程序。 proc 可以是字符串或 proc 对象。 set_trace_func 由调试器和分析器使用。 |
46 |
sleep([ sec])
暂停程序执行 sec 秒。 如果未指定 sec,则程序将永远挂起。 |
47 |
split([ sep[, max]])
相当于$_.split。 |
48 |
sprintf( fmt[, arg...])
format( fmt[, arg...])
返回一个字符串,其中 arg 根据 fmt 格式化。 格式化规范与 C 编程语言中的 sprintf 基本相同。 fmt 中的转换说明符(% 后跟转换字段说明符)被相应参数的格式化字符串替换。 下一节中给出了转换文件的列表。 |
49 |
srand([ seed])
初始化一个随机数数组。 如果未指定 seed,则使用种子的时间和其他系统信息执行初始化。 |
50 |
String( obj)
使用 obj.to_s 将其转换为字符串后返回 obj。 |
51 |
syscall( sys[, arg...])
调用编号sys指定的操作系统调用函数。 sys 的数字和含义取决于系统。 |
52 |
system( cmd[, arg...])
执行 cmd 作为对命令行的调用。 如果指定了多个参数,则直接运行命令而不进行 shell 扩展。 如果返回状态为 0(成功),则返回 true。 |
53 |
sub( x, y)
sub( x) {...}
用 y 替换 $_ 中第一个匹配 x 的字符串。 如果指定了块,则匹配的字符串将替换为块的结果。 修改后的结果赋值给$_。 |
54 |
sub!( x, y)
sub!( x) {...}
执行与 sub 相同的替换,除了字符串被原地更改。 |
55 |
test( test, f1[, f2])
执行字符 test 指定的各种文件测试。 为了提高可读性,您应该使用 File 类方法(例如 File::readable?)而不是这个函数。 下一节将给出参数列表。 |
56 |
throw( tag[, value = nil])
跳转到带有符号或字符串标签的catch函数。 value 是 catch 使用的返回值。 |
57 |
trace_var( var, cmd)
trace_var( var) {...}
为全局变量设置跟踪。 变量名被指定为一个符号。 cmd 可以是字符串或 Proc 对象。 |
58 |
trap( sig, cmd)
trap( sig) {...}
设置信号处理程序。 sig 可以是字符串(如 SIGUSR1)或整数。 SIG 可以从信号名称中省略。 在进程终止之前调用 EXIT 信号或信号编号 0 的信号处理程序。 |
59 |
untrace_var( var[, cmd])
删除对全局变量的跟踪。 如果指定了 cmd,则仅删除该命令。 |