Ruby语言基础全解析
1. 源布局
1.1 字符编码
Ruby程序可以使用7位ASCII、汉字(使用EUC或SJIS)或UTF - 8编写。若使用非7位ASCII编码集,需正确设置KCODE选项。
1.2 行处理规则
Ruby是面向行的语言,表达式和语句通常在行尾结束,但如果解析器判断语句未完成(如行末是运算符或逗号)则会继续。可以用分号在一行分隔多个表达式,也可以在行末用反斜杠延续到下一行。注释以 #
开头,到物理行末尾结束,语法分析时会忽略注释。示例如下:
a = 1
b = 2; c = 3
d = 4 + 5 +
6 + 7
# no '\' needed
e = 8 + 9
\
+ 10
# '\' needed
1.3 特殊注释与结束标记
以 =begin
开头、 =end
结尾的物理行之间的内容会被Ruby忽略,可用于注释代码或嵌入文档。若源文件中遇到仅含 __END__
且无前后空格的行,Ruby会将其视为程序结束,后续行不再作为程序代码,但可通过全局IO对象 DATA
读取。还可以通过管道将程序输入到Ruby解释器的标准输入流,如:
echo 'puts "Hello"' | ruby