Euphoria-constants

提供:Dev Guides
移動先:案内検索

ユーフォリア-定数

定数は、プログラムの存続期間中に決して変更できない初期値が割り当てられる変数でもあります。 Euphoriaでは、次のように定数キーワードを使用して定数を定義できます-

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

あなたが例から最後の2行を削除した場合、それは次の結果を生成します-

Value of MAX 100
Value of Upper 90
Value of Lower 5

enums

列挙値は特別なタイプの定数で、最初の値はデフォルトで数値1になり、その後の各項目は1ずつ増加します。 列挙型は数値のみを取ることができます。

列挙型はサブルーチン内で宣言できません。 スコープ修飾子を持たない enum のスコープは、宣言で始まり、宣言されたファイルの終わりと終わりです。

#!/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

1つのアイテムに数値を割り当てることで、そのアイテムの値を変更できます。 後続の値も、デフォルト値が割り当てられていない限り、常に前の値に1を加えたものです。

#!/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

シーケンスは整数インデックスを使用しますが、enumを使用すると、次のようなコードを記述できます-

enum X, Y
sequence point = { 0,0 }

point[X] = 3
point[Y] = 4