變數¶
若要儲存一個值並在稍後重複使用,可以將其賦值給一個變數。
例如,如果您想說 Hello Penny!
三次,您不需要重複相同的字串多次。相反地,您可以將其賦值給一個變數並重複使用它
message = "Hello Penny!"
puts message
puts message
puts message
此程式將字串 Hello Penny!
列印到標準輸出三次,每次都接著換行符號。
變數的名稱總是從一個小寫的 Unicode 字母(或底線,但這保留給特殊用途)開始,並且可以由字母數字字元或底線組成。作為典型的慣例,會避免使用大寫字母,並且名稱以 snake_case
撰寫。
注意
本課程討論的變數種類稱為區域變數。其他種類將在稍後介紹。現在,我們只專注於區域變數。
類型¶
變數的類型由編譯器自動推斷。在上面的範例中,它是 String
。
您可以使用 typeof
來驗證這一點
message = "Hello Penny!"
p! typeof(message)
注意
p!
類似於 puts
,它將值列印到標準輸出,但它也會以程式碼形式列印表達式。這使其成為檢查 Crystal 程式狀態和除錯的有用工具。
重新賦值¶
可以使用不同的值重新賦值給變數
message = "Hello Penny!"
p! message
message = "Hello Sheldon!"
p! message
這也適用於不同類型的值。當賦值不同類型的值時,變數的類型會變更。編譯器足夠聰明,可以知道它在程式中的哪個點具有哪種類型。
message = "Hello Penny!"
p! message, typeof(message)
message = 73
p! message, typeof(message)