4D v16.3識別子 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
識別子
識別子
本節は、4D言語のさまざまなオブジェクト(変数、テーブル、フォーム、等)を命名するための規則を説明します:
Note: オブジェクトがSQLで処理される場合には、追加のルールに従う必要があります。文字 _0123456789abcdefghijklmnopqrstuvwxyz のみを使用できます。また、名前にはコマンドや属性などのSQLキーワードを含めることができません。ストラクチャエディタのインスペクタ下部にある"SQL"エリアには、テーブル名やフィールド名として許可されない文字があると警告が表示されます。 角カッコ内 ([...]) に名前を入れることで、テーブルを表します。テーブル名は、31文字以内で指定します。 例題 DEFAULT TABLE([Orders]) フィールドが属するテーブルを最初に指定することで、フィールドを表します。フィールドの名前はテーブル名のすぐ後に続けます。フィールド名は31文字以内で指定します。 例題 [Orders]Total:=Sum([Line]Amount) 名前の先頭にインタープロセス (<>) 記号を付けることによって、インタープロセス変数を表します。 注: このシンタックスはWindowsとMacintoshの両方で使用することができます。これに加えて、Macintoshに限り、ダイアモンド記号(Option-Shift-V)を使用することもできます。 インタープロセス変数名は、<> 記号を除いて最大255文字(*)以内で指定することができます。 (*) "メソッドをUnicodeで保存する"互換性オプションが選択されていない場合には、上限は31文字となります(互換性ページ参照)。 例題 <>vlProcessID:=Current process 名前 (<>記号や$記号から始まらない) を使用して、プロセス変数を表します。プロセス変数は255(*)文字以内の文字で名前を指定します (*) "メソッドをUnicodeとして保存する"オプションがチェックされていない場合には31文字以内で指定します(互換性ページ参照)。 例題 vrGrandTotal:=Sum([Accounts]Amount) ドル記号 ($) を名前の先頭につけてローカル変数を表します。ローカル変数名は、ドル記号($) を除いて255文字(*)まで指定することができます。 (*) "メソッドをUnicodeで保存する"オプションがチェックされていない場合には31文字以内で指定します(互換性ページ参照)。 例題 For($vlRecord;1;100) 名前を使用して、配列を表します。これは配列作成時に配列宣言コマンド (ARRAY LONGINT等) に渡す名前です。配列は変数であり、スコープに基づいて次の3種類があります:
インタープロセス配列 注: このシンタックスはWindowsとMacintoshの両方で使用することができます。これに加えて、Macintoshに限り、ダイアモンド記号(Option-Shift-V)を使用することもできます。 インタープロセス配列名は、インタープロセス (<>) 記号を除いて255文字(*) 以内で指定します。 例題 ARRAY TEXT(<>atSubjects;Records in table([Topics])) プロセス配列 例題 ARRAY TEXT(atSubjects;Records in table([Topics])) ローカル配列 例題 ARRAY TEXT($atSubjects;Records in table([Topics])) (*) "メソッドをUnicodeで保存する"オプションがチェックされていない場合には31文字以内(互換性ページ参照)。 配列の要素 例題 ` インタープロセス配列の要素を指定する 二次元配列の要素 例題 ` 2次元インタープロセス配列の要素を指定する オブジェクト記法(参照)が有効化されているとき、ドット(.)をオブジェクト名(あるいは属性名)と属性の間に置くことでオブジェクト属性を指定します。属性名は255文字以内の文字列で指定し、また大文字と小文字を区別することに注意してください。 例題: myObject.myAttribute:="10" 注 : オブジェクト属性名にはさらにルールが適用されます(オブジェクト属性はECMA Script の指定に沿う必要があります)。詳細については、オブジェクト記法の使用(プレビュー) を参照してください。 フォームの名前は文字列を使用して表します。フォーム名は31文字以内で指定します。 例題 FORM SET INPUT([People];"Input") 文字列の名前の先頭に* 引数をつけてフォームオブジェクトを指定します。オブジェクト名には最大で255バイトまで含めることができます。 例題 OBJECT SET FONT(*;"Binfo";"Times") オブジェクトプロパティの章も参照して下さい。 注: フォームオブジェクト(ボタン、リストボックス、入力可能な変数など)と4Dランゲージのオブジェクト型を混同しないようにしてください。4Dランゲージのオブジェクト型はオブジェクト記法と専用のコマンドを使用して作成し、管理されます(オブジェクト(ランゲージ)を参照してください)。 名前を使用して、メソッド (プロシージャおよび関数) を表します。メソッド名は31文字以内で指定します。 Note: 結果を返さないメソッドはプロシージャとも呼ばれます。結果を返すメソッドを関数と呼びます。 例題 If(New client) Tip: 4Dの組み込みコマンドと同じ命名規約を利用することは良いプログラミングテクニックです。メソッド名には大文字を使用しますが、メソッドが関数の場合、 メソッド名の最初の文字だけを大文字にします。このように命名することにより、数ヶ月後に保守のためデータベースを再度開いたときに、エクスプローラウィ ンドウでその名前を見ただけで、メソッドが結果を返すかどうかがわかります。 Note: メソッドを呼び出すには、メソッド名を入力するだけです。しかしON EVENT CALL等4Dの組み込みコマンドの一部やプラグインコマンドは、引数のメソッド名を文字列 (ダブルクォートで括る) として渡すものがあります。 例題 ` このコマンドはメソッドを (関数) またはフォーミュラを期待する メソッドに引数を渡すことができます。引数はメソッド名の後のカッコ内に記述します。各引数は、セミコロン (;) で区切ります。引数は、呼び出されたメソッド内で、連番付きのローカル変数$1, $2,…, $nとして使用できます。さらに、複数の連続する引数は、${n}というシンタックスを用いて使用できます。nは数値で引数の番号を示します。 関数の戻り値は、ローカル変数$0に代入することで指定します。 例題 ` DROP SPACESの中で、$1はフィールド[People]Nameへのポインタ プラグインで定義された名前を使用して、プラグインコマンドを表します。プラグインコマンド名は31文字以内で指定します。 例題 $error:=SMTP_From($smtp_id;"henry@gmail.com") スコープに基づき、2つのタイプのセットがあります:
4D Serverには以下もあります:
インタープロセスセット プロセスセット クライアントセット Note: セットはサーバマシン上で保守されます。効率や特殊目的のために、クライアントマシン上でローカルにセットを使用したい場合があります。このような場合、クライアントセットを使用します。 例題 ` インタープロセスセット スコープに基づき、2つのタイプの命名セレクションがあります:
インタ-プロセス命名セレクション プロセス命名セレクション 例題 ` インタープロセス命名セレクション シングルユーザ版およびクライアント/サーバ版のクライアント側において、2種類のプロセスがあります:
グロ-バルプロセス ローカルプロセス 例題 ` グローバルプロセス"Add Customers"を開始する 次の表は、4Dの命名規則についてまとめています。
(*) "メソッドをUnicodeとして保存する"互換性オプションがチェックされていない場合には31文字まで(互換性ページ参照)。 注: 非ローマ文字(日本語など)が識別子に使用された場合、その最大長は短かくなることがあります。 データベース内の異なる要素に対しては、重複しない名前を使用するようにしてください。特定のオブジェクトが別タイプのオブジェクトと同じ名前を持つ場合 (例えばフィールドがPersonという名前で、変数もPersonという名前の場合) に、4Dはオブジェクトを識別するために優先順位システムを使用します。 4Dは、メソッドで使用される名前を次の順位で識別します:
例えば4DにはDateという組み込み関数があります。メソッドにDateという名前を付けても、4Dは組み込み関数のDate として認識し、メソッドとしては認識しません。つまり、そのメソッドの呼び出しはできないということです。しかしフィールドにDateと命名すると、4DはDate 関数の代わりにフィールドとして使用します。
参照
|
プロパティ
プロダクト: 4D
履歴
ARTICLE USAGE
ランゲージリファレンス ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||