介紹
“Hello, World!” 程式是電腦程式設計中的經典傳統。這是初學者的一個小而完整的第一個程式,也是確保您的環境正確配置的好方法。
本教程將指導您如何在Ruby中創建此程式。然而,為了使程式更有趣,您將修改傳統的“Hello, World”程式,讓它要求用戶輸入他們的名字。然後,您將在問候語中使用該名字。完成教程後,執行程式時將會看到如下程式:
OutputPlease enter your name.
Sammy
Hello, Sammy! I'm Ruby!
先決條件
您應該在您的計算機上設置了一個本地 Ruby 開發環境。按照以下其中一個教程進行設置:
- 如何在 macOS 上安裝 Ruby 並建立本地編程環境
- 如何在Ubuntu 16.04上安装Ruby并设置本地编程环境
- 如何在Windows 10上安装Ruby并设置本地编程环境
步骤1 — 编写基本的“Hello, World!”程序
要编写“Hello, World!”程序,请打开命令行文本编辑器,如nano
,并创建一个新文件:
- nano hello.rb
一旦文本文件在终端窗口中打开,您将输入程序:
puts "Hello, World!"
让我们分解代码的不同组成部分。
puts
是Ruby的方法,告诉计算机将一些文本打印到屏幕上。
然后puts
方法后跟一个字符序列 — Hello, World!
,用引号括起来。引号括起来的任何字符都被称为字符串。当程序运行时,puts
方法将打印此字符串到屏幕上。
一些方法,像puts
方法,在Ruby中是預設包含的。這些內建方法在你創建Ruby程式時總是可用的。你也可以定義自己的方法。
保存並退出nano
,方法是輸入CONTROL
和X
鍵,然後當提示是否保存文件時,按下y
並按ENTER
鍵。
讓我們試著運行你的程式。
步驟2 — 運行Ruby程式
當你寫完“Hello, World!”程式後,你就可以運行這個程式了。你會使用ruby
命令,後面跟著你剛剛創建的文件名。
- ruby hello.rb
程式將會執行並顯示這個輸出:
OutputHello, World!
讓我們來探索實際發生了什麼。
執行ruby
命令啟動了Ruby解釋器。Ruby解釋器讀取了你指定的文件並評估了它的內容。它通過調用puts
函數來執行puts "Hello, World!"
這行。字符串值Hello, World!
被傳遞給這個函數。
在這個例子中,字符串Hello, World!
也被稱為一個參數,因為它是傳遞給一個方法的值。
引用 Hello, World!
兩側的引號並未顯示在螢幕上,因為它們告訴 Ruby 它們包含一個字串。引號標示了字串的開始和結束位置。
程式運行正常,但您可以使其更具互動性。讓我們來探索一下吧。
第三步 — 輸入提示
每次運行程式時,它都會產生相同的輸出。讓我們提示運行程式的人輸入他們的名字。然後,您可以在輸出中使用該名字。
不要修改現有的程式,而是在 nano
編輯器中創建一個名為 greeting.rb
的新程式:
- nano greeting.rb
首先,添加這行,提示用戶輸入他們的名字:
puts "Please enter your name."
再次使用 puts
方法將一些文本輸出到螢幕上。
現在添加這行來捕獲用戶的輸入:
puts "Please enter your name."
name = gets
接下來的這行有點複雜。讓我們來分解一下。
gets
方法告訴電腦等待從鍵盤輸入。這會暫停程式,使用戶可以輸入任何文本。當用戶按下鍵盤上的 ENTER
鍵時,程式將繼續運行。所有按鍵,包括 ENTER
按鍵,都將被捕獲並轉換為一個字符串。
你想在程式輸出中使用這些字符,所以你將該字符賦值給一個名為name
的變量。Ruby會將該字符串存儲在計算機的內存中,直到程序結束。
最後,添加這行代碼來打印輸出:
puts "Please enter your name."
name = gets
puts "Hi, #{name}! I'm Ruby!"
再次使用puts
方法,但這次使用Ruby的一個功能叫做字符串插值,它允許你將賦值給變量的值放入字符串中。不再顯示name
這個詞,而是顯示name
變量中保存的值,這應該是用戶的名字。
保存並退出nano
,按CTRL+X
,然後在提示保存文件時按y
,然後按ENTER
。
現在運行此命令來運行程序:
- ruby greeting.rb
系統將提示你輸入你的名字,請輸入並按ENTER
。輸出可能不完全符合你的預期:
OutputPlease enter your name.
Sammy
Hi, Sammy
! I'm Ruby!
不是顯示Hi, Sammy! I'm Ruby!
,而是在名字後面換了一行。
該程序捕獲了你的所有鍵入,包括你按ENTER
告訴程序繼續的按鍵。在字符串中,按ENTER
鍵會創建一個特殊字符,該字符會創建一個新行。程序的輸出正是你告訴它要做的事情;它顯示你輸入的文本,包括那個新行。但這不是你想要的。但你可以修復它。
在編輯器中打開greeting.rb
文件:
- nano greeting.rb
在你的程序中找到這一行:
name = gets
name = gets.chop
這裡使用了 Ruby 的 chop
方法來處理我們用 gets
捕獲的字符串。 chop
方法會從字符串中刪除最後一個字符。在這種情況下,它刪除了我們按下 ENTER
時創建的字符串末尾的換行符。
保存並退出 nano
。按下 CTRL+X
,然後在提示時按下 y
保存文件。
再次運行程序:
- ruby greeting.rb
這一次,當你輸入你的名字並按下 ENTER
後,你會得到預期的輸出:
OutputPlease enter your name.
Sammy
Hi, Sammy! I'm Ruby!
現在你有一個 Ruby 程序,它接受用戶的輸入並將其打印到屏幕上。
結論
現在您已經知道如何提示輸入、處理結果並顯示輸出,請嘗試進一步擴展您的程序。例如,詢問用戶的最喜歡的顏色,並讓程序說它的最喜歡的顏色是紅色。您甚至可以嘗試使用相同的技術來創建一個簡單的 Mad-Lib 程序。
Source:
https://www.digitalocean.com/community/tutorials/how-to-write-your-first-ruby-program