Ruby 入门 互动版

Ruby 简介、环境与安装
Ruby介绍 Ruby 的特性 准备工具,开始干活 Ruby 环境 Ruby 安装 - Linux Ruby 中文编码
Ruby 语法
基本语法 基本概念 保留字 Ruby BEGIN 语句 Ruby END 语句 Ruby 注释
Ruby 数据类型
整型(Integer) 浮点型 字符串类型 反斜线符号 数组 哈希类型 范围类型
Ruby 类和对象
Ruby 类和对象 Ruby 中定义类 Ruby 中使用 new 方法创建对象 Ruby 类中的成员函数
变量
变量 Ruby 全局变量 Ruby 实例变量 Ruby 类变量 Ruby 局部变量和常量 Ruby 伪变量
运算符
算术运算符 比较运算符 赋值运算符 并行赋值 位运算符 逻辑运算符 三元运算符和范围运算符 Ruby defined? 运算符 Ruby 点运算符 "." 和双冒号运算符 "::" Ruby 运算符的优先级
Ruby 判断
if...else 语句 if 修饰符 unless 语句 unless 修饰符 case 语句
循环
while 语句 while 修饰符 until 语句 until 修饰符 for 语句 break 语句 next 语句 redo 语句 retry 语句
方法
语法 从方法返回值 return 语句 可变数量的参数 类方法 alias 语句与undef 语句
块介绍和语法 yield 语句 块和方法 BEGIN 和 END 块
模块(Module)
模块(Module) require 语句 include 语句 Ruby 中的 Mixins
文件的输入与输出
puts 语句 gets 语句 putc 语句 print 语句 打开和关闭文件 读取和写入文件 IO.readlines与IO.foreach 方法 重命名和删除文件 文件模式与所有权 文件查询 Ruby 中的目录 创建文件 & 临时目录
Ruby 异常
Ruby 异常 使用 retry 语句 使用 raise 语句 使用 ensure 语句 使用 else 语句 Catch 和 Throw 类 Exception
在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

类 Exception

Ruby 的标准类和模块抛出异常。所有的异常类组成一个层次,包括顶部的 Exception 类在内。下一层是七种不同的类型:

  • Interrupt
  • NoMemoryError
  • SignalException
  • ScriptError
  • StandardError
  • SystemExit

Fatal 是该层中另一种异常,但是 Ruby 解释器只在内部使用它。

ScriptErrorStandardError 都有一些子类,但是在这里我们不需要了解这些细节。最重要的事情是创建我们自己的异常类,它们必须是类 Exception 或其子代的子类。

让我们看一个实例:

class FileSaveError < StandardError
   attr_reader :reason
   def initialize(reason)
      @reason = reason
   end
end

现在,看下面的实例,将用到上面的异常:

File.open(path, "w") do |file|
begin
    # 写出数据 ...
rescue
    # 发生错误
    raise FileSaveError.new($!)
end
end

在这里,最重要的一行是 raise FileSaveError.new($!)。我们调用 raise 来示意异常已经发生,把它传给 FileSaveError 的一个新的实例,由于特定的异常引起数据写入失败。