Ruby - 语法
让我们用 ruby 编写一个简单的程序。 所有 ruby 文件都有扩展名 .rb。 因此,将以下源代码放入 test.rb 文件中。
#!/usr/bin/ruby -w puts "Hello, Ruby!";
在这里,我们假设您在 /usr/bin 目录中有可用的 Ruby 解释器。 现在,尝试如下运行该程序 −
$ ruby test.rb
这将产生以下结果 −
Hello, Ruby!
您已经看到了一个简单的 Ruby 程序,现在让我们看一些与 Ruby 语法相关的基本概念。
Ruby 程序中的空格
空格和制表符等空白字符在 Ruby 代码中通常会被忽略,除非它们出现在字符串中。 然而,有时它们被用来解释模棱两可的陈述。 当启用 -w 选项时,这种解释会产生警告。
示例
a + b is interpreted as a+b ( Here a is a local variable) a +b is interpreted as a(+b) ( Here a is a method call)
Ruby 程序中的行尾
Ruby 将分号和换行符解释为语句的结尾。 但是,如果 Ruby 在行尾遇到运算符,例如 +, − 或反斜杠,它们表示语句的继续。
Ruby 标识符
标识符是变量、常量和方法的名称。 Ruby 标识符区分大小写。 这意味着 Ram 和 RAM 在 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__ |
Here Document in Ruby
"Here Document"是指从多行构建字符串。 跟随一个 << 您可以指定一个字符串或一个标识符来终止字符串文字,并且当前行之后到终止符的所有行都是字符串的值。
如果终止符被引用,则引号的类型决定了面向行的字符串文字的类型。 请注意,<< 和终止符之间不能有空格。
这里有不同的例子 −
#!/usr/bin/ruby -w print <<EOF This is the first way of creating here document ie. multiple line string. EOF print <<"EOF"; # same as above This is the second way of creating here document ie. multiple line string. EOF print <<`EOC` # execute commands echo hi there echo lo there EOC print <<"foo", <<"bar" # you can stack them 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 语句
语法
BEGIN { code }
声明要在程序运行之前调用的 code。
示例
#!/usr/bin/ruby puts "This is main Ruby Program" BEGIN { puts "Initializing Ruby Program" }
这将产生以下结果 −
Initializing Ruby Program This is main Ruby Program
Ruby END 语句
语法
END { code }
声明要在程序结束时调用的 code。
示例
#!/usr/bin/ruby 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 解释器隐藏一行、一行的一部分或几行。 您可以在行首使用井号 (#) −
# I am a comment. Just ignore me.
或者,注释可能在语句或表达式之后的同一行 −
name = "Madisetti" # This is again comment
You can comment multiple lines as follows −
# This is a comment. # This is a comment, too. # This is a comment, too. # I said that already.
这是另一种形式。 这个块注释用 =begin/=end 向解释器隐藏了几行 −
=begin This is a comment. This is a comment, too. This is a comment, too. I said that already. =end