1. 什么是 Ruby?

Ruby 是一种动态、开源、面向对象的编程语言,由日本程序员松本行弘(Yukihiro Matsumoto,简称 Matz)于 1995 年创建。它以简单易读和开发者友好著称,常用于 Web 开发(比如 Ruby on Rails 框架)、脚本编写和自动化任务。

2. 基本语法

Ruby 的语法非常简洁,设计目标是让代码读起来像自然语言。以下是一些基础示例:

输出文本
puts "Hello, World!"  # 打印并换行
print "Hello, "       # 打印但不换行
p "Hello"             # 打印原始数据,常用于调试
变量

Ruby 不需要显式声明变量类型,直接赋值即可:

name = "Alice"    # 字符串
age = 25          # 整数
height = 1.75     # 浮点数
is_student = true # 布尔值

3. 数据类型

Ruby 支持以下常见数据类型:

  • 字符串(String)"hello"'hello'
  • 整数(Integer)浮点数(Float)42, 3.14
  • 布尔值(Boolean)true, false
  • 数组(Array)[1, 2, 3]["apple", "banana"]
  • 哈希(Hash):键值对集合,例如 { name: "Alice", age: 25 }"name" => "Alice"
  • 符号(Symbol):name(轻量级、不可变的标识符)

示例:

fruits = ["apple", "banana", "orange"]
person = { "name" => "Bob", "age" => 30 }
symbol = :hello

4. 控制流

条件语句
age = 18
if age >= 18
  puts "You are an adult."
elsif age >= 13
  puts "You are a teenager."
else
  puts "You are a child."
end
循环
# 简单循环
3.times { puts "Hello!" }

# 遍历数组
fruits = ["apple", "banana", "orange"]
fruits.each do |fruit|
  puts "I like #{fruit}"
end

5. 方法(函数)

Ruby 使用 def 定义方法:

def greet(name)
  "Hello, #{name}!"
end

puts greet("Alice")  # 输出:Hello, Alice!

带默认参数:

def greet(name = "Guest")
  "Hello, #{name}!"
end

puts greet        # 输出:Hello, Guest!
puts greet("Bob") # 输出:Hello, Bob!

6. 类和对象

Ruby 是面向对象的语言,一切皆对象。以下是一个简单类的例子:

class Person
  def initialize(name, age)  # 构造函数
    @name = name             # 实例变量
    @age = age
  end

  def introduce
    "Hi, I'm #{@name} and I'm #{@age} years old."
  end
end

person = Person.new("Alice", 25)
puts person.introduce  # 输出:Hi, I'm Alice and I'm 25 years old.

7. Ruby 的特色

  • 一切皆对象:连数字都是对象,比如 5.times { puts "Hi" }
  • 块(Blocks):Ruby 的块非常强大,常用于迭代或回调:
  3.times do |i|
    puts "Count: #{i}"
  end
  • 简洁性:Ruby 省略了很多不必要的符号,比如分号和括号(在很多情况下是可选的)。

8. 实践练习

试试以下任务:

  1. 编写一个方法,接受一个数字并返回它的平方。
  2. 创建一个数组,包含 5 个你喜欢的东西,然后用 each 遍历打印它们。
  3. 定义一个 Car 类,包含 brandcolor 属性,并添加一个 description 方法。

9. 下一步

如果你想深入学习,可以尝试:

  • Ruby on Rails:用于快速构建 Web 应用。
  • Gem:Ruby 的库和依赖管理工具,例如 gem install pry 安装调试工具。
  • 更多资源:查阅 Ruby 官方文档 或在线教程。

你的选择

  • 如果你想让我解答上面的练习,直接告诉我你的代码,我会帮你检查!
  • 如果你想跳到某个特定主题(比如数组、类或 Rails),告诉我。
  • 如果你想要互动式学习,我可以一步步带你写代码。

你想从哪里开始?