4D v16.3データタイプ |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
データタイプ
データタイプ
4Dのフィールド、変数、式は以下のデータタイプとなり得ます:
*1. 文字列には、文字フィールド、固定長変数、テキストフィールド、テキスト変数があります。 *2. 数値には、実数、整数、倍長整数のフィールドと変数があります。 *3. BLOBはBinary Large OBjectの省略形です。BLOBの詳細については、 BLOBコマンド の章を参照してください。 *4. 配列にはすべてのタイプの配列が含まれます。詳細については、 配列 の章を参照してください。 *5. Integer 64 bitsとFloatタイプは、SQLによってのみ管理されます。4D言語でこれらを使用することは推奨されません。これを行うと、これらのデータタイプは実数に変換され、精度が失われることがあります。 *6. オブジェクトを使用すると、構築されたデータを保存・操作できるようになります。オブジェクトは "オブジェクト(ランゲージ)" テーマ内のコマンドによって管理できます。 文字列とは、以下を示す総称です:
文字列とテキスト変数には違いはありません。 文字列をテキストフィールドに割り当てることもできますし、その逆も可能です。4Dは必要に応じて変換・切り落としを自動的に行います。式の中で、文字列とテキストは混ぜて使用することが出来ます。 注: このマニュアルでは、コマンド説明における文字列とテキストの引数は特に明記されていない限り、両方とも「文字列」と表記されています。 数値とは、以下を示す総称です。
実数データタイプの範囲は、±1.7e±308 (有効数字13桁) です。 数値データタイプは、異なる数値データタイプに代入することができます。このとき、4Dが必要に応じて変換、切り捨て、丸め処理を行います。ただし、値が範囲外の場合には、変換は正しい値を返しません。数値データタイプは式の中に混在させて使用することができます。 注: このマニュアルでは、実際のデータタイプに関わらず、コマンド説明における実数、整数、倍長整数の引数は特に明記されていない限り、数値と表記されています。
注: このマニュアルでは、コマンド説明における日付引数は特に明記されていない限り、「日付」と表記されています。 JavaScriptにおいて日付はオブジェクトなので、4Dに送られる際には他のオブジェクト同様、JSON フォームを含んだテキストとして送られます。この原理は特に4D Mobile または Webエリア を使用する際に適用されます。 このテキストは、デベロッパが4Dの日付(C_DATE) へと変換してあげる必要があります。方法は二つあります。:
二つの方法の違いに注意して下さい。 JSON Parse コマンドは SET DATABASE PARAMETER を使用して設定された変換モードに従うのに対し、 Date コマンドはこれに依存しないという事です。 Date コマンドを使用した変換は、常にローカルのタイムゾーンを考慮するということです。
注: このマニュアルでは、コマンド説明における時間引数は特に明記されていない限り、「時間」と表記されています。 ブールのフィールド、変数、式は、TRUE(真)またはFALSE(偽)のいずれかになります。 注: このマニュアルでは、コマンド説明におけるブール引数は特に明記されていない限り、「ブール」と表記されています。 ピクチャのフィールド、変数、式は、任意のWindowsまたはMacintoshのピクチャになります。一般的に、ペーストボード上に置いたり、4Dコマンドやプラグインコマンドを使用してディスクから読み出すことのできる任意のピクチャがこれに含まれます。 注: このマニュアルでは、コマンド説明におけるピクチャ引数は特に明記されていない限り、「ピクチャ」と表記されています。 ポインタの変数または式は、別の変数(配列、配列要素を含む)、テーブルまたはフィールドへの参照です。ポインタタイプのフィールドは、存在しません。 注: このマニュアルでは、コマンド説明におけるポインタ引数は特に明記されていない限り、「ポインタ」と表記されています。 BLOBのフィールドまたは変数は、個別にまたはBLOBコマンドを使用して利用できる一連のバイト列(長さは0バイトから2ギガバイトまで)です。BLOBタイプの式は、存在しません。 注: このマニュアルでは、コマンド説明におけるBLOB引数は特に明記されていない限り、「BLOB」と表記されています。 オブジェクト型の変数、フィールド、式にはさまざまなデータを格納することができます。 4D のネイティブなオブジェクトの構造は、よくある「値/名前」というペア(連想配列)に基づいています。これらのオブジェクトの記法は JSON のそれをもとにしていますが、完全に同じというわけではありません。
オブジェクト型の変数、フィールド、式は オブジェクト(ランゲージ) テーマ内のコマンドによって操作します。また、[#cmd id="1331"/] や QUERY SELECTION BY ATTRIBUTE などの クエリ テーマの特定のコマンドもオブジェクト型フィールドに対して処理を行うことができます。 未定義は、実際にはデータタイプではありません。未定義は、まだ定義されていない変数を指しています。関数(結果を返すプロジェクトメソッド)は、メソッド内で、戻り値 ($0) に未定義式が代入されている場合、未定義値を返すことがあります。フィールドは、未定義にはできません (フィールドの場合、Undefined コマンドは常に False を返します)。 配列は、実際にはデータタイプではありません。さまざまな種類の配列(整数配列、テキスト配列等)はこの配列という名前の下にグループ化されています。配列は変数です。配列タイプのフィールドは存在せず、配列タイプの式も存在しません。配列の詳細については、配列の節を参照してください。 注: このマニュアルでは、コマンド説明における配列引数は特に明記されていない限り、「配列」と表記されています (例: テキスト配列や数値配列など)。 4D言語には、データタイプ間の変換を行う演算子やコマンドがあります。4D言語はデータタイプをチェックしています。例えば、"abc"+0.5+!12/25/96!-?00:30:45?のように記述することはできません。これは、シンタックス(構文)エラーになります。 次の表は、基本的なデータタイプ、変換できるデータタイプ、それを実行する際に使用するコマンドを示しています:
(*) JSON形式の文字列は JSON Parse コマンドを使ってスカラーデータやオブジェクトに変換することができます。 (**) 時間値は数値として扱うことができます。 注: この表に示すデータ変換の他に、演算子と他のコマンドを組み合せることで、より洗練されたデータ変換を実行することができます。
参照
|
プロパティ
プロダクト: 4D
履歴
ARTICLE USAGE
ランゲージリファレンス ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||