如何编写您的第一个Ruby程序

“Hello,World!”程序是计算机程序设计中经典而悠久的传统。这是初学者简单而完整的第一个程序,它是确保您的环境配置正确的好方法。本教程将引导您完成创建...

介绍

“Hello,World!”程序是计算机程序设计中经典而悠久的传统。
这是初学者简单而完整的第一个程序,它是确保您的环境配置正确的好方法。

本教程将引导您在Ruby中创建此程序。 但是,为了使程序更有趣,我们将修改传统的“Hello,World”程序,以便向用户询问他们的名称。 然后,我们将在问候语中使用该名称。 完成本教程后,运行它时,您将看到一个这样的程序:

Please enter your name.
Sammy
Hello, Sammy! I'm Ruby!

先决条件

您应该在您的计算机上设置本地的Ruby开发环境 通过以下其中一个教程设置一个:

第一步 - 编写基本的“Hello,World!”程序

要编写“Hello,World!”程序,让我们打开一个命令行文本编辑器,如nano并创建一个新的文件:

nano hello.rb

一旦文本文件在终端窗口中打开,我们将输出我们的程序:

hello.rb的
puts "Hello, World!" 

我们来分解代码的不同组件。

puts是一种Ruby 方法 ,它告诉计算机将一些文本打印到屏幕上。

然后, puts方法后跟一系列字符 - Hello, World! ,用引号括起来。 引号内的任何字符都称为字符串 在程序运行时, puts方法会将该字符串打印到屏幕上。

默认情况下,一些方法,如puts方法,包含在Ruby中。 当您创建Ruby程序时,这些内置方法始终可用。 您也可以定义自己的方法。

通过输入CONTROLX键保存并退出nano ,当提示保存文件时,按y

我们来试试我们的节目。

第2步 - 运行Ruby程序

随着我们的“Hello,World!”程序的编写,我们准备运行该程序。 我们将使用ruby命令,后跟我们刚刚创建的文件的名称。

ruby hello.rb

该程序将执行并显示此输出:

Hello, World!

我们来探讨一下究竟发生了什么。

运行ruby命令启动了Ruby 解释器 Ruby解释器读取您指定的文件并评估其内容。 它执行了puts "Hello, World!" 通过调用 puts函数。 字符串值Hello, World! 传递给函数。

在这个例子中,字符串Hello, World! 也被称为参数,因为它是传递给方法的值。

Hello, World!任何一方的报价Hello, World! 没有打印到屏幕上,因为它们用于告诉Ruby它们包含一个字符串。 引号描绘字符串开始和结束的位置。

该程序的作品,但我们可以使它更具互动性。 我们来探讨一下吧。

第3步 - 提示输入

每次运行我们的程序时,它都会产生相同的输出。 让我们提醒他们运行我们的程序的人的名字。 然后,我们可以在输出中使用该名称。

而不是修改现有程序,在nano编辑器中创建一个名为greeting.rb的新程序:

nano greeting.rb

首先,添加这一行,提示用户输入他们的名字:

greeting.rb
puts "Please enter your name."

再次,我们使用puts方法在屏幕上打印一些文本。

现在添加这行来捕获用户输入:

greeting.rb
puts "Please enter your name."
name = gets

下一行更多涉及。 我们来吧

gets方法告诉计算机等待键盘的输入。 这将暂停程序,允许用户输入任何所需的文本。 当用户按键盘上的ENTER键时,程序将继续。 所有的击键,包括ENTER击,然后被捕获并转换成字符串

我们想在程序的输出中使用这些字符,所以我们通过字符串分配给一个名为name变量来保存这些字符。 Ruby将该字符串存储在计算机的内存中,直到程序完成。

最后添加这行来打印输出:

greeting.rb
puts "Please enter your name."
name = gets
puts "Hi, #{name}! I'm Ruby!"

我们再次使用puts方法,但是这次我们使用一个称为字符串插值的Ruby功能,这样我们可以把赋值给变量的值放在一个字符串中。 而不是单词name ,我们将获取我们保存在name变量中的值,它应该是用户的名称。

CTRL+X保存并退出nano ,并在提示保存文件时按y

现在运行程序。 系统将提示您输入名称,然后输入,然后按ENTER 输出可能不完全符合您的期望:

Please enter your name.
Sammy
Hi, Sammy
! I'm Ruby!

而不是Hi, Sammy! I'm Ruby! Hi, Sammy! I'm Ruby! 名字后面有一个换行符。

该程序捕获了我们的所有按键,包括我们按下的ENTER键,告诉程序继续。 在字符串中,按ENTER键创建一个创建新行的特殊字符。 程序的输出正在做我们告诉它做的事情; 它显示我们输入的文字,包括新行。 这不是我们想要的。 但是我们可以解决它。

在编辑器中打开greeting.rb文件:

nano greeting.rb

在你的程序中找到这一行:

greeting.rb
name = gets

并修改它看起来像这样:

greeting.rb
name = gets.chop

这对我们捕获的字符串使用Ruby的chop方法。 chop法从字符串中删除最后一个字符。 在这种情况下,它会删除在我们按ENTER时创建的字符串末尾的换行符。

保存并退出nano CTRL+X ,然后按提示保存文件时按y

再次运行程序:

ruby greeting.rb

这一次,输入你的名字并按ENTER ,你会得到预期的输出:

Please enter your name.
Sammy
Hi, Sammy! I'm Ruby!

您现在有一个Ruby程序,它从用户那里获取输入并将其打印回屏幕。

结论

现在您知道如何提示输入,处理结果并显示输出,尝试进一步扩展程序。 例如,请求用户喜欢的颜色,并让程序说它最喜欢的颜色是红色。 您甚至可以尝试使用相同的技术来创建一个简单的Mad-Lib程序。


分享按钮