📜  Ruby-语法

📅  最后修改于: 2020-10-16 05:47:01             🧑  作者: Mango


让我们用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标识符区分大小写。这意味着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__

Ruby中的此处文档

“此处文档”是指从多行构建字符串。在<<之后,您可以指定字符串或标识符以终止字符串字面量,并且当前行之后直至终止符的所有行都是字符串的值。

如果用引号引起来,则引号的类型确定面向行的字符串字面量的类型。注意,<<和终止符之间不能有空格。

这是不同的例子-

#!/usr/bin/ruby -w

print <

这将产生以下结果-

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
}

声明在程序运行之前要调用的代码

#!/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
}

声明要在程序结尾处调用的代码

#!/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

您可以注释多行,如下所示:

# 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