Nimrod 程式設計/迴圈
所以,接下來我們要看的是迴圈。什麼是迴圈?你可能會問。很簡單,它就是一系列指令的重複,只要滿足一定條件或在給定的值範圍內重複執行,聽起來太複雜了…簡單來說,它會根據你(程式設計師)指示,開始重複一系列指令(例如:變數建立和賦值、if 語句、函式、更多迴圈…),何時停止取決於我們使用的是哪種型別的迴圈。
在 Nim 中,有兩種型別的迴圈,我們稱之為 for 和 while
我們先從最簡單的開始。正如你可能猜到的,while 會重複執行,直到滿足一定條件。讓我們來看看它是如何工作的。 <syntaxhihglight lang="nimrod"> var languageName = "Nim" while languageName == "Nim"
echo "Hey! I'm using Nim!"
</syntaxhihglight> 現在,你應該嘗試猜猜這段程式碼會做什麼,別擔心,慢慢來,我在這兒等著你。
想好了嗎?你可能又讀了一遍,但還是不知道它到底在做什麼,沒關係,這可能有點困難,但是,如果你理解了,恭喜你!!! 現在,這段程式碼的功能是無限重複列印“Hey! I'm using Nim!”,為什麼?因為我們設定了變數 languageName(記住,使用 var 建立變數,使用一個等號‘=’為它賦值),然後,我們檢查它是否等於“Nim”(如 if 部分所述,== 用於檢查兩邊是否相等)並執行 echo "Hey! I'm using Nim!" ,由於沒有一行程式碼可以更改它,所以會無限迴圈。現在,如果我們出於任何原因將 var languageName = "Nim" 更改為其他任何內容,例如 var languageName = "My name's Ralph",while 內部的程式碼將不會執行,甚至一次都不會,因為 languageName == "Nim" 將為 false,CPU 會跳過那部分程式碼。
我們已經瞭解了 while,現在我們來認識一下 for。簡單來說,它意味著“對於這個集合中的每一個元素,執行以下指令”,就這麼簡單。但是,如果我們沒有舉例說明,那會是什麼樣的好書呢? <syntaxhihglight lang="nimrod"> for a in 0..10: for a in 0..10:echo "this is ", a, " step"
</synyaxhighlight> 我們再來玩一次猜謎遊戲,你已經知道規則了吧?現在,讓我們開始。
想好了嗎?不錯,這段程式碼的功能是列印“Hey!I'm the number 0”,然後對 0 到 10 序列中的每一個數字都列印相同的句子,這是怎麼做到的?感謝 &,它會將兩個字串組合在一起,換句話說,它會將它們連線起來(注意:你可以移除 &,程式碼仍然可以正常工作,因為 echo 會列印每個引數,如果移除 & 並保留空格,它會將它們識別為單獨的引數)。
好了,我們完成了迴圈部分,如果你理解了所有內容,很好,如果沒有,試著再讀一遍,這些都是基本概念,不難理解。