Ruby 编程语言基础教程:从入门到实践
Ruby 是一种优雅而富有表现力的编程语言,以其简洁的语法和面向对象的设计理念而闻名。本文将从基础概念出发,带你全面了解 Ruby 的核心特性。
Ruby 基础语法
注释方式
Ruby 支持两种注释方式:
# 这是单行注释
=begin
这是多行注释
Ruby 社区一般不推荐使用这种形式
=end
一切都是对象
Ruby 最显著的特点是所有东西都是对象,包括数字、布尔值等基本类型:
3.class #=> Integer
3.to_s #=> "3"
true.class #=> TrueClass
false.class #=> FalseClass
nil.class #=> NilClass
基本运算符
算术运算符
1 + 1 #=> 2
8 - 1 #=> 7
10 * 2 #=> 20
35 / 5 #=> 7
2**5 #=> 32
5 % 3 #=> 2
位运算符
3 & 5 #=> 1 (按位与)
3 | 5 #=> 7 (按位或)
3 ^ 5 #=> 6 (按位异或)
比较运算符
1 == 1 #=> true
2 == 1 #=> false
1 != 1 #=> false
1 < 10 #=> true
1 <=> 10 #=> -1 (组合比较)
数据类型
字符串
# 单引号字符串
'I am a string'.class #=> String
# 双引号字符串支持插值
name = "Ruby"
"Hello #{name}" #=> "Hello Ruby"
# 字符串操作
'hello ' + 'world' #=> "hello world"
'hello ' * 3 #=> "hello hello hello "
数组
array = [1, 2, 3, 4, 5]
array[0] #=> 1
array[-1] #=> 5
array << 6 #=> [1, 2, 3, 4, 5, 6]
array.include?(3) #=> true
哈希
# 传统语法
hash = {'color' => 'green', 'number' => 5}
hash['color'] #=> 'green'
# Ruby 1.9+ 符号键语法
new_hash = { defcon: 3, action: true }
new_hash[:defcon] #=> 3
控制结构
条件语句
if true
"if statement"
elsif false
"else if"
else
"else"
end
循环结构
# 传统for循环(不推荐)
for i in 1..5
puts i
end
# Ruby风格迭代
(1..5).each do |i|
puts "iteration #{i}"
end
# 单行块语法
(1..5).each { |i| puts i }
Case语句
grade = 'B'
case grade
when 'A' then "Excellent"
when 'B' then "Good"
else "Try harder"
end
方法与块
定义方法
def double(x)
x * 2
end
double(3) #=> 6
块与yield
def surround
puts "{"
yield
puts "}"
end
surround { puts 'hello' }
# 输出:
# {
# hello
# }
面向对象编程
类定义
class Human
# 类变量
@@species = "H. sapiens"
# 构造函数
def initialize(name)
@name = name
end
# 属性访问器
attr_accessor :name
# 类方法
def self.say(msg)
puts msg
end
end
模块与混入
module Greetable
def greet
"Hello, #{name}"
end
end
class Person
include Greetable
attr_accessor :name
end
p = Person.new
p.name = "Ruby"
p.greet #=> "Hello, Ruby"
异常处理
begin
# 可能出错的代码
raise "Error message"
rescue => e
puts "Caught error: #{e}"
ensure
puts "This always runs"
end
Ruby 编程风格建议
- 使用 snake_case 命名变量和方法
- 类名使用 CamelCase
- 布尔方法以?结尾
- 修改自身的方法以!结尾
- 优先使用 each 而不是 for 循环
- 保持方法短小精悍
通过本文,你已经了解了 Ruby 编程语言的核心概念。Ruby 的优雅语法和强大的表达能力使其成为开发 Web 应用、脚本工具等的绝佳选择。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考