變數是什麼,但保留記憶體來儲存值。這意味著,當你建立一個變數在記憶體中保留一些空間。
常數也將被分配一個初始值,永遠無法改變的變數。Euphoria 允許定義常數使用 constant 關鍵字如下:
constant MAX = 100 constant Upper = MAX - 10, Lower = 5 constant name_list = {"Fred", "George", "Larry"} |
任何表示式的結果可以被分配到一個恆定的,即使涉及先前定義的函式的呼叫,但一旦作出分配,常數變數的值是“鎖定”。
常數不能被宣告在一個子程式裡面。一個恆定的範圍不具有範圍修飾符劑上面的宣告和結束,開始和結束的檔案,它被宣告項
#!/home/euphoria-4.0b2/bin/eui constant MAX = 100 constant Upper = MAX - 10, Lower = 5 printf(1, "Value of MAX %d\n", MAX ) printf(1, "Value of Upper %d\n", Upper ) printf(1, "Value of Lower %d\n", Lower ) MAX = MAX + 1 printf(1, "Value of MAX %d\n", MAX ) |
這將產生以下錯誤:
./test.ex:10 <0110>:: may not change the value of a constant MAX = MAX + 1 ^ Press Enter |
如果您刪除最後兩行的例子,那麼這將產生以下結果:
Value of MAX 100 Value of Upper 90 Value of Lower 5 |
列舉值是一種特殊型別的常數,其中第一個值預設為數位1和每個專案後,按1遞增。列舉只能採取數值。
子程式內不能被宣告列舉。一個列舉的範圍不具有範圍修飾符劑上面的宣告和結束,開始和結束的檔案,它被宣告項
#!/home/euphoria-4.0b2/bin/eui enum ONE, TWO, THREE, FOUR printf(1, "Value of ONE %d\n", ONE ) printf(1, "Value of TWO %d\n", TWO ) printf(1, "Value of THREE %d\n", THREE ) printf(1, "Value of FOUR %d\n", FOUR ) |
這將產生以下結果:
Value of ONE 1 Value of TWO 2 Value of THREE 3 Value of FOUR 4 |
您可以更改任何一個專案值的分配一個數值。隨後的值是以前的值加一,除非他們也被分配一個預設值。
#!/home/euphoria-4.0b2/bin/eui enum ONE, TWO, THREE, ABC=10, XYZ printf(1, "Value of ONE %d\n", ONE ) printf(1, "Value of TWO %d\n", TWO ) printf(1, "Value of THREE %d\n", THREE ) printf(1, "Value of ABC %d\n", ABC ) printf(1, "Value of XYZ %d\n", XYZ ) |
這將產生以下結果:
Value of ONE 1 Value of TWO 2 Value of THREE 3 Value of ABC 10 Value of XYZ 11 |
Euphoria 序列使用整數索引,但用列舉,可能會寫這樣的程式碼:
enum X, Y sequence point = { 0,0 } point[X] = 3 point[Y] = 4 |