4D v14.3識別子 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
識別子
識別子
本節は、4D言語のさまざまなオブジェクトを命名するための規則を説明します。すべてのオブジェクトの名前は、次の規則に従います:
Note: オブジェクトがSQLで処理される場合には、追加のルールに従う必要があります。文字 _0123456789abcdefghijklmnopqrstuvwxyz のみを使用できます。また、名前にはコマンドや属性などのSQLキーワードを含めることができません。ストラクチャエディタのインスペクタ下部にある"SQL"エリアには、テーブル名やフィールド名として許可されない文字があると警告が表示されます。 角カッコ内 ([...]) に名前を入れると、テーブルを表します。テーブル名は、31文字以内で指定します。 例題 DEFAULT TABLE([Orders]) フィールドが属するテーブルを最初に指定することで、フィールドを表します。フィールドの名前はテーブル名のすぐ後に続けます。フィールド名は31文字以内で指定します。 例題 [Orders]Total:=Sum([Line]Amount) 名前の先頭にインタープロセス (<>) 記号を付けることによって、インタープロセス変数を表します。インタープロセス変数名は、インタープロセス (<>) 記号を除いて31文字以内で指定します。 例題 <>vlProcessID:=Current process
名前 (<>記号や$記号から始まらない) を使用して、プロセス変数を表します。プロセス変数名は、31文字以内で指定します。 例題 vrGrandTotal:=Sum([Accounts]Amount)
ドル記号 ($) を名前の先頭につけてローカル変数を表します。ローカル変数名は、ドル ($) 記号を除いて31文字以内で指定します。 例題 For($vlRecord;1;100) 名前を使用して、配列を表します。これは配列作成時に配列宣言コマンド (ARRAY LONGINT等) に渡す名前です。配列は変数であり、スコープに基づいて次の3種類があります:
インタープロセス配列 例題 ARRAY TEXT(<>atSubjects;Records in table([Topics])) プロセス配列 例題 ARRAY TEXT(atSubjects;Records in table([Topics])) ローカル配列 例題 ARRAY TEXT($atSubjects;Records in table([Topics])) 配列の要素 例題 ` インタープロセス配列の要素を指定する 二次元配列の要素 例題 ` 2次元インタープロセス配列の要素を指定する フォームの名前は文字列を使用して表します。フォーム名は31文字以内で指定します。 例題 FORM SET INPUT([People];"Input") 名前を使用して、メソッド (プロシージャおよび関数) を表します。メソッド名は31文字以内で指定します。 Note: 結果を返さないメソッドはプロシージャとも呼ばれます。結果を返すメソッドを関数と呼びます。 例題 If(New client) Tip: 4Dの組み込みコマンドと同じ命名規約を利用することは良いプログラミングテクニックです。メソッド名には大文字を使用しますが、メソッドが関数の場合、 メソッド名の最初の文字だけを大文字にします。このように命名することにより、数ヶ月後に保守のためデータベースを再度開いたときに、エクスプローラウィ ンドウでその名前を見ただけで、メソッドが結果を返すかどうかがわかります。 Note: メソッドを呼び出すには、メソッド名を入力するだけです。しかしON EVENT CALL等4Dの組み込みコマンドの一部やプラグインコマンドは、引数のメソッド名を文字列 (ダブルクォートで括る) として渡すものがあります。 例題 ` このコマンドはメソッドを (関数) またはフォーミュラを期待する メソッドに引数を渡すことができます。引数はメソッド名の後のカッコ内に記述します。各引数は、セミコロン (;) で区切ります。引数は、呼び出されたメソッド内で、連番付きのローカル変数$1, $2,…, $nとして使用できます。さらに、複数の連続する引数は、${n}というシンタックスを用いて使用できます。nは数値で引数の番号を示します。 関数の戻り値は、ローカル変数$0に代入することで指定します。 例題 ` DROP SPACESの中で、$1はフィールド[People]Nameへのポインタ
プラグインで定義された名前を使用して、プラグインコマンドを表します。プラグインコマンド名は31文字以内で指定します。 例題 WR BACKSPACE(wrArea;0) スコープに基づき、2つのタイプのセットがあります:
4D Serverには以下もあります:
インタープロセスセット プロセスセット クライアントセット Note: セットはサーバマシン上で保守されます。効率や特殊目的のために、クライアントマシン上でローカルにセットを使用したい場合があります。このような場合、クライアントセットを使用します。 例題 ` インタープロセスセット スコープに基づき、2つのタイプの命名セレクションがあります:
インタ-プロセス命名セレクション プロセス命名セレクション 例題 ` インタープロセス命名セレクション シングルユーザ版およびクライアント/サーバ版のクライアント側において、2種類のプロセスがあります:
グロ-バルプロセス ローカルプロセス 例題 ` グローバルプロセス"Add Customers"を開始する 次の表は、4Dの命名規則についてまとめています。
特定のオブジェクトが別タイプのオブジェクトと同じ名前を持つ場合 (例えばフィールドがPersonという名前で、変数もPersonという名前の場合) に、4Dはオブジェクトを識別するために優先順位システムを使用します。重複しない名前の使用に関しては開発者自身に委ねられます。 4Dは、メソッドで使用される名前を次の順位で識別します:
例えば4DにはDateという組み込み関数があります。メソッドにDateという名前を付けても、4Dは組み込み関数のDateとして認識し、メソッドとしては認識しません。つまり、そのメソッドの呼び出しはできないということです。しかしフィールドにDateと命名すると、4DはDate関数の代わりにフィールドとして使用します。 |
プロパティ
プロダクト: 4D 参照 ARTICLE USAGE
ランゲージリファレンス ( 4D v12.4) Inherited from : 識別子 ( 4D v11 SQL Release 6) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||