Ruby 是一种动态、开源的编程语言,由松本行弘(Yukihiro "Matz" Matsumoto)于1995年创建。Ruby 以其优雅、简洁的语法和强大的元编程能力而闻名。它遵循“让程序员快乐”的原则,旨在简化编程任务并提高开发效率。Ruby 也是流行的 Web 应用框架 Ruby on Rails 的基础语言。
安装 Ruby
你可以从 [Ruby 官网](https://www.ruby-lang.org/en/downloads/) 下载并安装 Ruby。对于 macOS 用户,Ruby 通常已经预装在系统中。Windows 用户可以安装 RubyInstaller 来获取 Ruby 环境。此外,许多 Linux 发行版也通过包管理器提供了 Ruby。
Hello World 示例
Ruby 中的 "Hello, World!" 程序非常简单:
```ruby
puts "Hello, World!"
```
基本语法
Ruby 使用 `def` 关键字来定义方法(函数)。
```ruby
def greet(name)
puts "Hello, #{name}!"
end
greet("Ruby Programmer") # 输出 "Hello, Ruby Programmer!"
```
变量
Ruby 中的变量不需要事先声明类型,可以直接赋值使用。
```ruby @instance_variable = "I'm an instance variable" $global_variable = "I'm a global variable" local_variable = "I'm a local variable" ```
控制流
Ruby 支持 `if`、`unless`、`case` 等控制流语句。
```ruby # if 语句 if 1 > 2 puts "This won't run." else puts "This will run because 1 is not greater than 2." end # unless 语句 unless 1 < 2 puts "This won't run because 1 is less than 2." end # case 语句 number = 2 case number when 1 puts "You entered 1." when 2 puts "You entered 2." else puts "You entered something other than 1 or 2." end ```
循环
Ruby 提供了 `for` 循环和 `while` 循环。
```ruby # for 循环 for i in 0...5 puts i end # while 循环 count = 0 while count < 5 puts count count += 1 end ```
数组和哈希
Ruby 中的数组和哈希(类似于其他语言中的字典或映射)。
```ruby # 数组 array = ["apple", "banana", "cherry"] puts array[0] # 输出 "apple" # 哈希 hash = { name: "Ruby", version: "2.7.2" } puts hash[:name] # 输出 "Ruby" ```
类和对象
Ruby 是一种面向对象的语言,它使用 `class` 关键字定义类。
```ruby class Greeting def initialize(name) @name = name end def say_hello puts "Hello, #{@name}!" end end g = Greeting.new("World") g.say_hello # 输出 "Hello, World!" ``` 块(Blocks) Ruby 中的块是一种强大的特性,它允许你将代码片段作为参数传递给方法。 ```ruby [1, 2, 3].each do |number| puts number * 2 end # 输出: # 2 # 4 # 6 ```
元编程
Ruby 支持元编程,即在运行时修改程序结构的能力。
```ruby class Animal def speak puts "Some generic animal sound" end end class Dog < Animal def speak puts "Woof!" end end dog = Dog.new dog.speak # 输出 "Woof!" ```
结论
Ruby 是一种灵活且表达力强的编程语言,它提供了许多现代编程语言的特性,如闭包、元编程和迭代器。Ruby 社区非常活跃,提供了大量的库和框架,使得 Ruby 成为 Web 开发、自动化和脚本编写的流行选择。如果你喜欢简洁的语法和强大的功能,Ruby 可能是一个值得学习的优秀选择。