跳到內容

變數

若要儲存一個值並在稍後重複使用,可以將其賦值給一個變數。

例如,如果您想說 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)