2

で列挙されるグローバル配列変数があります'a'..'z'。変数宣言でいくつかのエントリを初期化したい場合、通常は次のようにします。

var 
  Example: Array['a'..'z'] of String = ('Example one', 'two', 'three');

「g」、「p」、「o」、「y」などを変数宣言のすぐそばで初期化する方法はありますか、それとも実装部分の関数/手順を介してそれを行う必要がありますか?

私が望むものを達成するためのよりスマートな方法があるかもしれませんか?

4

2 に答える 2

6

そこで特定の要素だけを初期化することはできません。これを行う正しい方法は、 のinitialization後に書かれたセクションにありimplementationます。


implementation
...
initialization
  Example['g'] := 'something';

end.
于 2013-02-05T09:05:59.517 に答える
3

特定の要素だけを初期化するように指定する方法はありません。グローバル配列変数の初期化子は、単純に要素のリストです。要素は順番に指定されます。あなたの場合、未指定の要素はデフォルト値に設定されます''。リストは順番に処理されるため、指定されていない要素は配列の末尾にある必要があります。

そのためには、これらの初期化をコードで記述する必要があります。

var 
  Example: Array['a'..'z'] of String; // global variable
....
// and later in code
Example['a'] := ...;
Example['b'] := ...;
... etc.

当然、コード内の好きな要素を選択できます。

プログラムの起動時に初期化を実行する場合は、初期化セクションから初期化コードを呼び出す必要があります。

于 2013-02-05T09:03:19.233 に答える