1 | 2 | 3 | 4

20 分钟学会 Ruby

简介

这是一个简短的 Ruby 教程,应该可以在 20 分钟内完成。它假设你已经安装了 Ruby。(如果你的电脑上没有 Ruby,请在开始之前安装它。)

交互式 Ruby

Ruby 自带一个程序,可以显示你输入的任何 Ruby 语句的结果。在这种交互式会话中玩转 Ruby 代码是学习这门语言的绝佳方式。

打开 IRB(代表交互式 Ruby)。

  • 如果你使用的是 macOS,打开 终端 并输入 irb,然后按回车键。
  • 如果你使用的是 Linux,打开一个 shell 并输入 irb,然后按回车键。
  • 如果你使用的是 Windows,从开始菜单的 Ruby 部分打开 交互式 Ruby
irb(main):001:0>

好了,它已经打开了。现在怎么办?

输入: "Hello World"

irb(main):001:0> "Hello World"
=> "Hello World"

Ruby 听你的话了!

刚才发生了什么?我们只是写了世界上最短的 “Hello World” 程序吗?不完全是。第二行只是 IRB 告诉我们它评估的最后一个表达式的结果的方式。如果我们想打印出 “Hello World”,我们需要更多一点代码

irb(main):002:0> puts "Hello World"
Hello World
=> nil

puts 是在 Ruby 中打印输出的基本命令。但是 => nil 是什么意思呢?那是表达式的结果。puts 总是返回 nil,这是 Ruby 的绝对的什么都没有的值。

你的免费计算器在这里

我们已经有足够的条件将 IRB 用作基本计算器

irb(main):003:0> 3+2
=> 5

三加二。很简单。那三乘以二呢?你可以输入它,它足够短,但你也可以向上移动并更改你刚刚输入的内容。尝试按键盘上的向上箭头,看看是否会显示包含 3+2 的行。如果显示,你可以使用左箭头键移动到 + 号之后,然后使用退格键将其更改为 * 号。

irb(main):004:0> 3*2
=> 6

接下来,让我们尝试三的平方

irb(main):005:0> 3**2
=> 9

在 Ruby 中,** 是表示 “乘方” 的方式。但是,如果你想反过来并找到某个数的平方根呢?

irb(main):006:0> Math.sqrt(9)
=> 3.0

好吧,等等,最后一个是什么?如果你猜是 “计算 9 的平方根”,那么你是对的。但让我们仔细看看。首先,Math 是什么?

模块按主题对代码进行分组

Math 是一个用于数学的内置模块。模块在 Ruby 中有两个作用。这展示了其中一个作用:将类似的方法分组到一个熟悉的名称下。Math 还包含 sin()tan() 等方法。

接下来是一个点。点是做什么的?点是你用来标识消息的接收者的方式。什么是消息?在这种情况下,它是 sqrt(9),表示调用方法 sqrt,它是 “平方根” 的缩写,参数为 9

此方法调用的结果是值 3.0。你可能会注意到它不仅仅是 3。这是因为大多数时候一个数的平方根不会是整数,所以该方法总是返回一个浮点数。

如果我们想记住一些数学运算的结果怎么办?将结果分配给一个变量。

irb(main):007:0> a = 3 ** 2
=> 9
irb(main):008:0> b = 4 ** 2
=> 16
irb(main):009:0> Math.sqrt(a+b)
=> 5.0

尽管这对于计算器来说很棒,但我们正在偏离初学者教程应该关注的传统 Hello World 消息…… 所以让我们回到那里。