「Vle-sublist」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成:「{{AutoLISP}} ; 構文 : (vle-sublist ''lst'' ''startidx'' ''nritems'' ) ; 機能 : 入力リスト lst から、インデックス startidx の項目から始まり…」)
 
編集の要約なし
 
(同じ利用者による、間の2版が非表示)
1行目: 1行目:
{{AutoLISP}}
{{BCAD_LISP}}


; 構文
; 構文
11行目: 11行目:
; 引数
; 引数
:* lst : サブリストを抽出するためのリスト。
:* lst : サブリストを抽出するためのリスト。
:* startidx : サブリストの最初の項目のインデックス (0ベース); startidx < 0 なら 0 として扱われる。
:* startidx : サブリストの最初の項目のインデックス (最初の項目は0)startidx < 0 0 として扱われる。
:* nritems : lst リストからコピーされるアイテムの数; nritems が < 0 なら、startidx 以降のすべてのアイテムになる。
:* nritems : lst リストからコピーされるアイテムの数; nritems が < 0 なら、startidx 以降のすべてのアイテムになる。


45行目: 45行目:


[[Category:AutoLISP]]
[[Category:AutoLISP]]
[[Category:BricsCADのLISP]]

2023年1月28日 (土) 07:51時点における最新版

構文
(vle-sublist lst startidx nritems )


機能
入力リスト lst から、インデックス startidx の項目から始まり、lst からリスト項目の最大数 nritems 個のサブリストを返す関数。


引数
  • lst : サブリストを抽出するためのリスト。
  • startidx : サブリストの最初の項目のインデックス (最初の項目は0)。 startidx < 0 は 0 として扱われる。
  • nritems : lst リストからコピーされるアイテムの数; nritems が < 0 なら、startidx 以降のすべてのアイテムになる。


戻り値
インデックス startidx で始まる、入力リスト lst の n 個の項目を含む lst のサブリスト。
lst に nritems 分の項目がない場合,lst の項目のみ返される。NIL が付加されたリストになるわけではない。


サンプル
(vle-sublist '(1 2 3 4 5 6 7) 2 3) ; 2 から 3個のリスト
(3 4 5)

(vle-sublist '(1 2 3 4 5 6 7) 2 -1) ; nritems がマイナスの場合は最後まで
(3 4 5 6 7)

(vle-sublist '(1 2 3 4 5 6 7) 2 10) ; nritems 分無いのはリストの最後まで
(3 4 5 6 7) 

(vle-sublist '(0 1 2) 3 -1) ; lst が startidx より少ない場合は nil
nil



関連事項