文件编码###
若出现中文错误,则在文件头添加# -*- coding: UTF-8 - *-
,文件也必须保存为utf-8编码
ruby常用命令###
参数 | 操作 |
---|---|
-c | 只检查语法不执行 |
ruby环境变量###
变量 | 描述 |
---|---|
DLN_LIBRARY_PATH | 动态加载模块搜索的路径。 |
HOME | 当没有参数传递给 Dir::chdir 时,要移动到的目录。也用于 File::expand_path 来扩展 "~"。 |
LOGDIR | 当没有参数传递给 Dir::chdir 且未设置环境变量 HOME 时,要移动到的目录。 |
PATH | 执行子进程的搜索路径,以及在指定 -S 选项后,Ruby 程序的搜索路径。每个路径用冒号分隔(在 DOS 和 Windows 中用分号分隔)。 |
RUBYLIB | 库的搜索路径。每个路径用冒号分隔(在 DOS 和 Windows 中用分号分隔)。 |
RUBYLIB_PREFIX | 用于修改 RUBYLIB 搜索路径,通过使用格式 path1;path2 或 path1path2,把库的前缀 path1 替换为 path2。 |
RUBYOPT | 传给 Ruby 解释器的命令行选项。在 taint 模式时被忽略(其中,$SAFE 大于 0)。 |
RUBYPATH | 指定 -S 选项后,Ruby 程序的搜索路径。优先级高于 PATH。在 taint 模式时被忽略(其中,$SAFE 大于 0)。 |
RUBYSHELL | 指定执行命令时所使用的 shell。如果未设置该环境变量,则使用 SHELL 或 COMSPEC |
ruby中的空白###
a + b
会被解释为a+b
,是一个变量
a +b
会被解释为a(+b)
,是一个方法调用
ruby的行尾###
在行尾遇到+
、-
或/
时表示该行语句未完,延续到下一行
ruby标识符###
大小写敏感
ruby中的Here document###
"Here Document" 是指建立多行字符串。在 << 之后,您可以指定一个字符串或标识符来终止字符串,且当前行之后直到终止符为止的所有行是字符串的值。
如果终止符用引号括起,引号的类型决定了面向行的字符串类型。请注意<< 和终止符之间必须没有空格。
下面是不同的实例:
#!/usr/bin/ruby -w
# -*- coding : utf-8 -*-
print <<EOF
这是第一种方式创建here document 。
多行字符串。
EOF
print <<"EOF"; # 与上面相同
这是第二种方式创建here document 。
多行字符串。
EOF
print <<`EOC` # 执行命令
echo hi there
echo lo there
EOC
print <<"foo", <<"bar" # 您可以把它们进行堆叠
I said foo.
foo
I said bar.
bar
上面语句执行后的结果如下
This is the first way of creating her document ie.
multiple line string.
This is the second way of creating her document ie.
multiple line string.
hi there
lo there
I said foo.
I said bar.
ruby的BEGIN与END###
BEGIN {}
中的代码会在所有代码执行之前执行,END{}
中的代码会在所有代码执行完之后执行。
ruby中的注释###
单行注释以#
开始
多行注释以=begin
开始,=end
结束