Ruby 语法


Ruby 语法

简介

Ruby 是一种动态的、开源的面向对象编程语言,它的设计者是松本行弘。Ruby 语法简单易读,非常适合用于快速开发 Web 项目,也在很多其他领域被广泛应用。

本文将介绍 Ruby 语法的基本概念,帮助读者快速掌握 Ruby 编程语言。

注释

在 Ruby 中,使用 # 符号来添加注释。注释用于代码的解释和说明,可以提高代码可读性。

例如:

# 这是一个注释,这一行的代码不会执行
puts "Hello, World!" # 这也是一个注释

变量

Ruby 中的变量可以用来存储任何类型的值,包括字符串、数字、浮点数等等。变量不需要声明,直接赋值即可。

Ruby 中的变量名以小写字母或下划线开头,可以使用数字和字母的组合。

例如:

# 定义变量
message = "Hello, World!"

# 输出变量内容
puts message

数据类型

在 Ruby 中,有以下几种常见的数据类型:

  • 数值型:整数、浮点数等
  • 字符串:由单引号或双引号包围的一串字符
  • 布尔型:true 或 false
  • 数组:有序集合,可以包含不同类型的元素
  • 哈希表:无序集合,包含键值对
  • 符号:类似于字符串,但更轻量级,通常用作哈希表中的键值

例如:

# 数值型
int_value = 10
float_value = 3.14

# 字符串
string_value_1 = 'Hello, World!'
string_value_2 = "Ruby is awesome!"

# 布尔型
bool_value = true

# 数组
array_value = [1, "two", true]

# 哈希表
hash_value = { "name" => "John", "age" => 30 }

# 符号
symbol_value = :name

运算符

Ruby 支持以下类型的运算符:

  • 算术运算符:+、-、*、/、%、**(指数)
  • 比较运算符:==、!=、>、<、>=、<=、<=>(三种比较结果分别为:-1、0 和 1)
  • 逻辑运算符:!、&&、||
  • 赋值运算符:=、+=、-=、*=、/=、%=、**=

例如:

# 算术运算符
puts 1 + 2    # 输出 3
puts 5 - 2    # 输出 3
puts 2 * 3    # 输出 6
puts 10 / 3   # 输出 3
puts 10 % 3   # 输出 1
puts 2**3     # 输出 8

# 比较运算符
puts 10 == 10 # 输出 true
puts 10 != 5  # 输出 true
puts 10 > 5   # 输出 true

# 逻辑运算符
puts !false    # 输出 true
puts true && true  # 输出 true
puts false || true # 输出 true

# 赋值运算符
x = 5
puts x   # 输出 5

x += 10
puts x   # 输出 15

条件语句

Ruby 支持 if、if-else 和 if-elsif-else 三种类型的条件语句。

例如:

# if 语句
if 10 > 5
  puts "10 大于 5"
end

# if-else 语句
if 10 < 5
  puts "10 小于 5"
else
  puts "10 大于等于 5"
end

# if-elsif-else 语句
x = 10
if x < 5
  puts "x 小于 5"
elsif x > 10
  puts "x 大于 10"
else
  puts "x 大于等于 5,小于等于 10"
end

循环语句

Ruby 支持 while、until、for 和 each 四种类型的循环语句。

例如:

# while 循环
i = 0
while i < 5
  puts i
  i += 1
end

# until 循环
j = 0
until j == 5
  puts j
  j += 1
end

# for 循环
for k in 0..4
  puts k
end

# each 循环
array = [1, 2, 3, 4, 5]
array.each do |elem|
  puts elem
end

函数与方法

Ruby 中的函数和方法本质相同,都是用来执行特定任务的代码块,可以传递参数和返回值。Ruby 中的函数以 def 关键字开头,并以 end 结尾。

例如:

# 定义函数
def add(a, b)
  return a + b
end

# 调用函数
result = add(1, 2)
puts result