dictnext (AutoLISP)

ディクショナリ内の次の項目を検索します。

サポートされているプラットフォーム: Windows および Mac OS

構文と要素

(dictnext ename [rewind])

引数

ename

タイプ: ads_name

検索するディクショナリの名前。

rewind

タイプ: T または nil

この引数が指定され、値が nil でない場合は、ディクショナリの最初まで戻り、最初の項目を検索します。

戻り値

タイプ: ads_name

指定されたディクショナリ内の次の項目。ディクショナリの最後に達した場合は、nil。項目は、DXF 形式のコードと値のドット ペアのリストとして返します。削除されたディクショナリ項目は、返しません。

dictsearch 関数は、取得する最初の項目を指定します。

マスター ディクショナリ項目名を取得するには、namedobjdict 関数を使用します。

注: ディクショナリの項目を順番に検索する操作を開始した後で、別のディクショナリ名が dictnext 関数に渡されると、元のディクショナリでの現在の位置が分からなくなります。つまり、この関数は 1 つのグローバルな繰り返し子だけしか保持していないということです。

dictadd 関数の例で示したように、ディクショナリと項目を作成します。次に、他の拡張レコード オブジェクトを作成します。

(setq xname (entmakex datalist))
<Entity name: 1b62d60>

この拡張レコード オブジェクトを、ディクショナリの 2 番目のレコードとして、ディクショナリに追加します。

(dictadd newdict "DATA_RECORD_2" xname)
<Entity name: 1b62d60>

ディクショナリ内の次の項目の図形名を取得します。

(cdr (car (dictnext newdict)))
<Entity name: 1bac958>

dictnext 関数は、ディクショナリに追加された最初の項目の名前を返します。

ディクショナリ内の次の項目の図形名を取得します。

(cdr (car (dictnext newdict)))
<Entity name: 1bac960>

dictnext 関数は、ディクショナリに追加された 2 番目の項目の名前を返します。

ディクショナリ内の次の項目の図形名を取得します。

(cdr (car (dictnext newdict)))
nil

ディクショナリには次の項目が存在しないので、dictnext 関数は nil を返します。

ディクショナリ内の最初の項目に戻り、その項目の図形名を取得します。

(cdr (car (dictnext newdict T)))
<Entity name: 1bac958>

省略可能な rewind 引数に T を指定したので、dictnext 関数は、ディクショナリ内の最初の項目を返します。