1 | 2 | 3 | 4

二十分钟学会 Ruby

简介

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

交互式 Ruby

Ruby 提供了一个程序,可以显示您输入的任何 Ruby 语句的结果。像这样在交互式会话中玩 Ruby 代码是学习这门语言的绝佳方式。

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

  • 如果您使用的是 macOS,请打开 Terminal 并输入 irb,然后按回车键。
  • 如果您使用的是 Linux,请打开一个 shell 并输入 irb,然后按回车键。
  • 如果您使用的是 Windows,请从“开始”菜单的 Ruby 部分打开 Interactive 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(“square root”的缩写),参数为 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 消息… 让我们回到那里。