跳到主要内容

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 集合处理的核心模块,提供 mapselectreducefind 等常用能力。
  • Module:Ruby 用 module 组织命名空间,也用 Mixin 复用行为。
  • Gem:Ruby 生态中的软件包。你会用 RubyGems 和 Bundler 管理依赖。

Ruby 和其他语言的差异

如果你学过 Python,会发现 Ruby 也很适合脚本和 Web 开发,但 Ruby 更强调对象消息调用和 block 风格。

如果你学过 JavaScript,会发现 Ruby 也是动态语言,但 Ruby 的对象模型、模块系统和服务端 Web 生态完全不同。

如果你学过 C/C++,会发现 Ruby 的开发反馈快很多,但运行时模型、性能优化方式和错误类型也不同。

初学者应该怎样学

推荐顺序是:

  1. 使用 IRB 试小表达式。
  2. 写单文件脚本,掌握变量、条件、循环和方法。
  3. 熟悉 String、Array、Hash、Symbol 这些核心对象。
  4. 学会 block 和 Enumerable,写出 Ruby 风格的集合处理代码。
  5. 学习类、对象、Module、Mixin 和异常处理。
  6. 使用 Bundler、测试和 RuboCop 管理真实项目。
  7. 再进入 Sinatra、Rails、并发、元编程等进阶主题。
提示

学习 Ruby 最好的方式不是背语法表,而是写小脚本。比如:统计一个文件的行数、批量重命名图片、读取 CSV 生成报表。Ruby 的优势会在这些小任务里很快体现出来。

小结

Ruby 的核心气质是表达力、对象模型和灵活性。你接下来要做的不是急着记住所有方法,而是先建立直觉:Ruby 程序由对象组成,对象接收方法调用,集合处理常常通过 block 完成。