在Ruby中,常量和變量的區別在于它們的不可變性和作用域。
常量是在程序執行期間保持不變的標識符,其命名約定為大寫字母,例如:PI = 3.14159。常量的值在整個程序中都是不可變的,不應該被重新賦值。
變量是用于存儲可變數據的標識符,其命名約定為小寫字母或下劃線,例如:name = ‘John’。變量的值可以在程序執行期間發生變化,并且可以被重復賦值。
另外,常量有一個作用域的概念,即在定義常量的模塊或類中可以直接訪問該常量,而在其他地方需要通過模塊名或類名來訪問。變量的作用域也有其規則,但相對來說更加靈活,可以在不同的代碼塊中進行訪問和修改。