Ruby Syntax

Ruby 语法

Udayan Shakya
Udayan Shakya

|

2 分钟阅读

Ruby 的语法设计得简洁而富有表现力。让我们看看它是如何读取和执行你的程序的。

1. 语句的结束

在 Ruby 中,新的一行通常表示语句的结束——无需分号

示例

puts "Hello"
puts "World"

输出

Hello
World

但是,你也可以使用分号在一行上写多个语句

puts "Hello"; puts "World"

此程序输出与上面相同。

注意:在惯用的 Ruby 代码中,分号不常用。


2. 注释以井号 (#) 开始

Ruby 使用井号 (#) 符号进行单行注释,类似于 Python。

示例

# This prints "Hello World!" to the screen
puts "Hello World!"

对于多行注释,请使用 =begin=end

=begin
Ruby 代码,用于打印
"Hello" 和 "World" 在不同的行上
=end

puts "Hello"
puts "World"
指南
  • =begin=end 必须位于行的开头(它们前面不能有任何空格)。
  • 注释内容必须出现在它们之间的单独行上。

3. 命名约定

命名事物时遵循以下约定

  • 变量和方法:以小写字母或下划线开头(例如,namemy_value)。
  • 类名:以大写字母开头(例如,PersonCalculator)。
  • 区分大小写:例如,变量 valueValue 是不同的。

4. 方法调用中的括号

与许多其他语言不同,Ruby 在调用方法时不需要括号。

示例

puts "Hello World!"

但是,如果你愿意,仍然可以使用括号

puts("Hello World!")
最佳实践
  • 在传递多个参数时使用括号,以提高可读性。
  • 单参数避免使用括号(除非需要清晰)。

5. 代码块和作用域

Ruby 使用 end 关键字来闭合代码块。缩进是可选的,但强烈建议为了可读性而使用。

示例

# 定义一个方法
def greet(name)
    puts "Hello, #{name}!"
    puts "How are you?"
end

# 调用方法
greet "Robert"

输出

Hello, Robert!
How are you?

这里,

  • greet 中的代码缩进以显示作用域。
  • end 标记着方法块的结束。

注意:Ruby 中用大括号 {} 来表示单行代码块(例如在迭代器中),并且 BEGINEND 中的代码是必需的。


6. BEGIN 语句

BEGIN 语句声明在程序运行之前将被调用的代码。

示例

puts "Main Program"

# Ruby 首先运行此代码
BEGIN {
    puts "Loading..."
    puts "Initializing Ruby Program"
    puts "--------------------------"
}

输出

Loading...
Initializing Ruby Program
--------------------------
Main Program

在这里,即使 BEGIN 块出现在 puts "Main Program" 之后,Ruby 也会在任何其他代码之前运行它。BEGIN 就是这样工作的。

注意BEGINEND 中的代码必须用大括号 { ... } 包裹,这与其他大多数使用 do...end 的 Ruby 代码块不同。


7. END 语句

END 语句声明在程序结束时将被调用的代码。

示例

puts "Main Program"

# Ruby 最后运行此代码
END {
    puts "--------------------------"
    puts "Hasta la vista..."
    puts "Program Terminated!"
}

# Ruby 首先运行此代码
BEGIN {
    puts "Loading..."
    puts "Initializing Ruby Program"
    puts "--------------------------"
}

输出

Loading...
Initializing Ruby Program
--------------------------
Main Program
--------------------------
Hasta la vista...
Program Terminated!

注意:不要将 END 语句与 end 关键字混淆;end 用于闭合 defifclass 等代码块。


下一步是什么?

你现在已经熟悉了 Ruby 语法的基本知识,以及它如何区别于其他编程语言。

要继续你的 Ruby 之旅,请点击 此链接学习 注释的工作原理。

Udayan Shakya
Udayan Shakya

Udayan 是一位物理学毕业生,在 Programiz 担任内容作者。当他没有忙于编程时,他会沉浸在他小图书馆里的书籍中。