Ruby的特性:
- Ruby是开源的,在Web上免费提供,但需要一个许可证。
- Ruby是一种通用的、解释的编程语言。
- Ruby是一种真正的面向对象编程语言。
- Ruby是一种类似于Python和Perl的服务器端脚本语言。
- Ruby可以用来编写通用网关接口(CGI)脚本。
- Ruby可以被嵌入到超文本标记语言(HTML)。
- Ruby语法简单,这使得新的开发人员能够快速轻松地学习Ruby。
- Ruby与C++和Perl等许多编程语言有类似的语法。
- Ruby可扩展性强,用Ruby编写的大程序易于维护。
- Ruby可用于开发的Internet和Intranet应用程序。
- Ruby可以安装在Windows和POSIX环境中。
- Ruby支持许多GUI工具,比如Tcl/Tk、GTK和OpenGL。
- Ruby可以很容易地连接到DB2、MySQL、Oracle和Sybase。
- Ruby有丰富的内置函数,可以直接在Ruby脚本中使用。
保留字
下表列出了 Ruby 中的保留字。这些保留字不能作为常量或变量的名称。但是,它们可以作为方法名。
BEGIN | do | next | then |
END | else | nil | true |
alias | elsif | not | undef |
and | end | or | unless |
begin | ensure | redo | until |
break | false | rescue | when |
case | for | retry | while |
class | if | return | while |
def | in | self | __FILE__ |
defined? | module | super | __LINE__ |
Ruby 中的 Here Document
"Here Document" 是指建立多行字符串。在 << 之后,您可以指定一个字符串或标识符来终止字符串,且当前行之后直到终止符为止的所有行是字符串的值。
如果终止符用引号括起,引号的类型决定了面向行的字符串类型。请注意<< 和终止符之间必须没有空格。
单引号与双引号的差别: 与shell中类似, 单引号中的内容不会被转义, 双引号中的内容会被转义
例子:
@title="test"
print <<'EOC'
<title>#{@title}</title>
EOC
print <<"FOO", <<"BAR"
i said foo.
<title>#{@title}</title>
FOO
i said bar.
BAR
结果:
<title>#{@title}</title>
i said foo.
<title>test</title> --- 内容被转义了
i said bar.
Ruby BEGIN 语句
语法
BEGIN {
code
}
声明 code 会在程序运行之前被调用。
例子:
puts "This is main Ruby Program"
BEGIN {
puts "Initializing Ruby Program"
}
结果:
Initializing Ruby Program
This is main Ruby Program
Ruby END 语句
语法
END {
code
}
声明 code 会在程序的结尾被调用。
例子:
puts "This is main Ruby Program"
END {
puts "Terminating Ruby Program"
}
BEGIN {
puts "Initializing Ruby Program"
}
结果:
Initializing Ruby Program
This is main Ruby Program
Terminating Ruby Program
Ruby 注释
注释会对 Ruby 解释器隐藏一行,或者一行的一部分,或者若干行。您可以在行首使用字符( # ):
# 我是注释,请忽略我。
或者,注释可以跟着语句或表达式的同一行的后面:
name = "Madisetti" # 这也是注释
您可以注释多行,如下所示:
# 这是注释。
# 这也是注释。
# 这也是注释。
# 这还是注释。
下面是另一种形式。这种块注释会对解释器隐藏 =begin/=end 之间的行:
=begin
这是注释。
这也是注释。
这也是注释。
这还是注释。
=end