- Ruby 基础
- Ruby - 首页
- Ruby - 概述
- Ruby - 环境设置
- Ruby - 语法
- Ruby - 类和对象
- Ruby - 变量
- Ruby - 运算符
- Ruby - 注释
- Ruby - IF...ELSE
- Ruby - 循环
- Ruby - 方法
- Ruby - 代码块
- Ruby - 模块
- Ruby - 字符串
- Ruby - 数组
- Ruby - 哈希表
- Ruby - 日期和时间
- Ruby - 范围
- Ruby - 迭代器
- Ruby - 文件 I/O
- Ruby - 异常
交互式 Ruby (irb)
交互式 Ruby 或 irb 是一个与 Ruby 捆绑在一起的交互式编程环境。它由石塚圭史编写。
用法语法
要调用它,在 shell 或命令提示符下键入 irb,然后开始输入 Ruby 语句和表达式。使用 exit 或 quit 退出 irb。
$ irb[.rb] [options] [programfile] [arguments]
以下是选项的完整列表 -
序号 | 命令及说明 |
---|---|
1 | -f 抑制读取文件 ~/.irbrc。 |
2 | -m bc 模式(加载 mathn 库,以便可以使用分数或矩阵)。 |
3 | -d 将 $DEBUG 设置为 true(与 ruby -d 相同)。 |
4 | -r load-module 与 ruby -r 相同。 |
5 | -I path 指定 $LOAD_PATH 目录。 |
6 | --inspect 使用 inspect 进行输出(默认情况下,除了 bc 模式)。 |
7 | --noinspect 不使用 inspect 进行输出。 |
8 | --readline 使用 Readline 扩展模块。 |
9 | --noreadline 不使用 Readline 扩展模块。 |
10 | --prompt prompt-mode (--prompt-mode prompt-mode) 切换提示模式。预定义的提示模式为 default、simple、xmp 和 inf-ruby。 |
11 | --inf-ruby-mode 使用适合 Emacs 上 inf-ruby-mode 的提示。抑制 --readline。 |
12 | --simple-prompt 简单提示模式。 |
13 | --noprompt 无提示模式。 |
14 | --tracer 显示每个命令执行的跟踪。 |
15 | --back-trace-limit n 显示回溯前 n 个和后 n 个。默认值为 16。 |
16 | --irb_debug n 将内部调试级别设置为 n(不供大众使用)。 |
17 | -v (--version)。 打印 irb 的版本。 |
示例
以下是 irb 评估各种表达式的示例:
$ irb irb(main):001:0> 23 + 27 => 50 irb(main):002:0> 50 - 23 => 27 irb(main):003:0> 10 * 5 => 50 irb(main):004:0> 10**5 => 100000 irb(main):006:0> x = 1 => 1 irb(main):007:0> x + 59 => 60 irb(main):005:0> 50 / 5 => 10 irb(main):008:0> hi = "Hello, Mac!" => "Hello, Mac!"
您还可以使用 irb 调用单个程序。运行程序后,irb 退出。让我们称我们的 hello.rb 程序为 -
$ irb hello.rb hello.rb(main):001:0> #!/usr/bin/env ruby hello.rb(main):002:0* hello.rb(main):003:0* class Hello hello.rb(main):004:1> def initialize( hello ) hello.rb(main):005:2> @hello = hello hello.rb(main):006:2> end hello.rb(main):007:1> def hello hello.rb(main):008:2> @hello hello.rb(main):009:2> end hello.rb(main):010:1> end => nil hello.rb(main):011:0> hello.rb(main):012:0* salute = Hello.new( "Hello, Mac!" ) => #<Hello:0x319f20 @hello = "Hello, Mac!"> hello.rb(main):013:0> puts salute.hello Hello, Mac! => nil hello.rb(main):014:0> $