跳转到内容

Ruby 编程/语法/词法学

来自维基教科书,开放世界中的开放书籍
(从 Ruby 编程/词法学 重定向)

标识符

[编辑 | 编辑源代码]

标识符是用于标识变量、方法或类的名称。

与大多数语言一样,有效的标识符由字母数字字符(A-Za-z0-9)和下划线(_)组成,但不能以数字开头(0-9)。此外,作为方法名称的标识符可以以问号结尾(?),感叹号(!),或等号(=).

标识符的长度没有任意限制(即它可以根据您的需要任意长,仅受计算机内存限制)。最后,有一些保留字不能用作标识符。

示例

foobar
ruby_is_simple

行注释从一个裸的 '#' 字符开始,一直到行末。代码注释和文档最好使用 Ruby 嵌入式文档实现。 http://www.ruby-doc.org/docs/ProgrammingRuby/html/rdtool.html

示例

# this line does nothing; 
print "Hello" # this line prints "Hello"

嵌入式文档

[编辑 | 编辑源代码]

示例

=begin
Everything between a line beginning with `=begin' down to
one beginning with `=end' will be skipped by the interpreter.
These reserved words must begin in column 1.
=end

保留字

[编辑 | 编辑源代码]

以下词语在 Ruby 中是保留的

__FILE__  and    def       end     in      or      self   unless
__LINE__  begin  defined?  ensure  module  redo    super  until
BEGIN     break  do        false   next    rescue  then   when
END       case   else      for     nil     retry   true   while
alias     class  elsif     if      not     return  undef  yield

您可以在 这里 找到使用它们的示例。

表达式

[编辑 | 编辑源代码]

示例

true
(1 + 2) * 3
foo()
if test then okay else not_good end

所有变量、字面量、控制结构等都是表达式。将这些表达式组合在一起就称为程序。可以使用换行符或分号(;)分隔表达式 - 但是,带有前导反斜杠(\)的换行符将延续到下一行。

由于在 Ruby 中控制结构也是表达式,因此可以执行以下操作

 foo = case 1
       when 1
         true
       else
         false
       end

在 C 等语言中,上面的等效代码会导致语法错误,因为控制结构在 C 语言中不是表达式。

华夏公益教科书