Ruby 简介
Ruby 是一门动态、面向对象、强调表达力的编程语言。你可以用它写自动化脚本、命令行工具、Web 应用、数据处理程序,也可以用它快速验证一个想法。
如果你刚开始学习 Ruby,可以先把它理解成一门“让程序读起来接近人的想法”的语言。它不像 C/C++ 那样要求你一开始就关心内存布局,也不像 Java 那样要求你为最小程序写很多结构。Ruby 更鼓励你先把问题表达出来,再逐步把代码整理成对象、方法和模块。
Ruby 适合做什么
Ruby 在这些场景中很常见:
- 自动化脚本:批量处理文件、清理日志、生成报表。
- 命令行工具:把重复操作包装成可复用命令。
- Web 开发:尤其是 Ruby on Rails 生态。
- 数据处理:处理 JSON、CSV、YAML、文本和配置文件。
- 测试和构建:很多项目用 Ruby 写测试脚本、构建任务和运维脚本。
- 快速原型:先把想法跑起来,再决定是否继续扩展。
Ruby on Rails 很有名,但你不要把 Ruby 等同于 Rails。Rails 是 Ruby 的一个大型 Web 框架;学 Rails 之前,最好先掌握 Ruby 本身。
Ruby 的几个关键词
学习 Ruby 时,你会反复遇到这些概念。
- 对象:Ruby 中几乎所有值都是对象。数字、字符串、数组、类本身都能调用方法。
- 方法:对象通过方法暴露行为。Ruby 方法调用常常可以省略括号,所以代码读起来比较自然。
- Block:Ruby 用 block 表达“一段可以传给方法执行的代码”,例如遍历数组时传入的
do ... end。 - Enumerable:Ruby 集合处理的核心模块,提供
map、select、reduce、find等常用能力。 - Module:Ruby 用 module 组织命名空间,也用 Mixin 复用行为。
- Gem:Ruby 生态中的软件包。你会用 RubyGems 和 Bundler 管理依赖。
Ruby 和其他语言的差异
如果你学过 Python,会发现 Ruby 也很适合脚本和 Web 开发,但 Ruby 更强调对象消息调用和 block 风格。
如果你学过 JavaScript,会发现 Ruby 也是动态语言,但 Ruby 的对象模型、模块系统和服务端 Web 生态完全不同。
如果你学过 C/C++,会发现 Ruby 的开发反馈快很多,但运行时模型、性能优化方式和错误类型也不同。
初学者应该怎样学
推荐顺序是:
- 使用 IRB 试小表达式。
- 写单文件脚本,掌握变量、条件、循环和方法。
- 熟悉 String、Array、Hash、Symbol 这些核心对象。
- 学会 block 和 Enumerable,写出 Ruby 风格的集合处理代码。
- 学习类、对象、Module、Mixin 和异常处理。
- 使用 Bundler、测试和 RuboCop 管理真实项目。
- 再进入 Sinatra、Rails、并发、元编程等进阶主题。
提示
学习 Ruby 最好的方式不是背语法表,而是写小脚本。比如:统计一个文件的行数、批量重命名图片、读取 CSV 生成报表。Ruby 的优势会在这些小任务里很快体现出来。
小结
Ruby 的核心气质是表达力、对象模型和灵活性。你接下来要做的不是急着记住所有方法,而是先建立直觉:Ruby 程序由对象组成,对象接收方法调用,集合处理常常通过 block 完成。