v16R4:オブジェクト表記のlengthプロパティ

ドキュメントには、COLLECTIONでのみ使えるみたいな記述になっていたのですが、
オブジェクトの配列に対しても適用されるのか確認してみました。

<code 4D>
ARRAY OBJECT($test_ao;0)
APPEND TO ARRAY($test_ao;New object(“name”;“tomato”;“qty”;12;“city”;“osaka”))
APPEND TO ARRAY($test_ao;New object(“name”;“tamanegi”;“qty”;30;“city”;“fukui”))
APPEND TO ARRAY($test_ao;New object(“name”;“suica”;“qty”;2;“city”;“kobe”))

C_OBJECT($top_o)
$top_o:=New object
$top_o.result:=“ok”
OB SET ARRAY($top_o;“items”;$test_ao)

$len_l:=$top_o.items.length
$len2_l:=$test_ao.length
</code 4D>

結果としては、オブジェクト内に配置された配列の場合には有効みたいなのですが、オブジェクト配列直接の場合にはダメでした。
微妙ですね。 :frowning:

できれば対応お願いします。 :pray:

コレクション型は,オブジェクト型配列というよりも,
オブジェクトのプロパティに代入された4Dの配列(たとえばARRAY TEXT, ARRAY LONGINT)に似ています。

lengthプロパティ自体は,(オブジェクト記法が文字列で使用できる)オブジェクト型フィールドのクエリ(QUERY BY ATTRIBUTE)でサポートされていました。

http://doc.4d.com/4Dv16R3/4D/16-R3/DISTINCT-ATTRIBUTE-PATHS.301-3217935.ja.htmlDISTINCT ATTRIBUTE PATHS>のページに説明があります。

: Keisuke MIYAKO

コレクション型は,オブジェクト型配列というよりも,
オブジェクトのプロパティに代入された4Dの配列(たとえばARRAY TEXT, ARRAY LONGINT)に似ています。

lengthプロパティ自体は,(オブジェクト記法が文字列で使用できる)オブジェクト型フィールドのクエリ(QUERY BY
ATTRIBUTE)でサポートされていました。

<http://doc.4d.com/4Dv16R3/4D/16-R3/DISTINCT-ATTRIBUTE-PATHS.301-32179
5.ja.html>DISTINCT ATTRIBUTE PATHS>のページに説明があります。

ドキュメントの一番下にこそっと書いてありますね。