Nimrod 程式設計/變數
我們學習瞭如何列印內容(使用 echo),但我們的程式目前非常靜態,每次執行時只會顯示相同的內容,不太有趣。那麼如何解決這個問題呢?使用變數,在解釋變數之前,讓我們考慮一個例子。
echo ("Hello world!")
這段程式碼的作用是將“Hello world!”寫入控制檯。但是一直輸出“Hello world!”很無聊,我們想在這裡使用另一個短語。我們可以更改每一行(在計算機科學中,這些“行”被稱為語句),但是如果我們要進行很多次更改,就會非常耗時。我們該怎麼辦呢?可以使用變數。變數就像一個盒子,我們可以用來儲存資訊(數字、字元、句子),然後我們只需要宣告這個變數的存在。如果我們不這樣做,編譯器(它還會檢查錯誤)會認為我們犯了一個錯誤,並且不會編譯(因此我們也無法執行它)。上面用變數的例子如下所示。
var sentence = "Hello world!"
echo (sentence)
很不錯。您想更改顯示的短語嗎?好的,只需更改 sentence 變數,每行都會更改。但是我們做了什麼呢?讓我們仔細閱讀一下這個新例子。
第一行是:
var sentence = "Hello world!"
事實上,我們在這一行做了兩件事。我們首先告訴計算機初始化一個新變數(使用保留關鍵字 var)並命名它(在本例中,變數名為“sentence”)。此第一步稱為宣告(我們聲明瞭一個變數的存在)。我們做的第二件事是為變數賦值。現在,我們的變數代表這個值,在任何地方寫入 sentence 就相當於寫入“Hello world!”。
因為第一行已經理解了,我們應該繼續看其他行。
echo (sentence)
如您所見,我們告訴計算機列印 sentence 變數中的內容(在本例中是“Hello world!”)。計算機在記憶體中搜索名為 sentence 的變數,並顯示其內容。但是,您可能會有一個疑問,為什麼我們在第一個例子中使用雙引號,而在第二個例子中沒有使用?這是因為第二個例子是變數,而第一個例子不是。當我們想要原樣獲取一個字串(並且不將其視為表示式)時,必須在句子前後新增雙引號(就像您在英語中一樣)。
還有一點,變數有型別:可以是整數、小數、字串。在 Nimrod 中,一旦宣告,變數的型別就不能更改。我們沒有說變數的型別是什麼。計算機如何知道變數的型別呢?我們為變數賦值,Nimrod 非常聰明,可以理解您想要將變數的型別設定為與您放入的值相同的型別(在本例中是字串)。如果我們沒有賦值,則應該顯式宣告其型別。
var sentence: string
string 是 Nim 中字串型別的名稱。作為旁註,您應該知道變數儲存在計算機的 RAM 中(事實上,這是 RAM 的工作,儲存應用程式需要的數值),因此 RAM 不是無限的,但您也不必太擔心,因為如今的計算機擁有大量 RAM,可以儲存數百萬個這樣的變數。