二十分钟学会 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
=> nilputs 是 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 消息… 让我们回到那里。