「Atoms-family」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成: ; 構文 : (atoms-family ''format'' [''symlist'']) ; 機能 : 現在定義されているシンボルのリストを返す。 ; 引数 :* format : atoms-family 関数が返…)
 
編集の要約なし
 
(同じ利用者による、間の3版が非表示)
1行目: 1行目:
{{AutoLISP}}
; 構文
; 構文
: (atoms-family ''format'' [''symlist''])  
: (atoms-family ''format'' [''symlist''])  


; 機能
; 機能
:  
: 現在定義されているシンボルのリストを返す。
現在定義されているシンボルのリストを返す。
 
 
; 引数
; 引数
:* format : atoms-family 関数が返すシンボル名の形式を決定する 0(ゼロ)か 1 の整数。  
:* format : atoms-family 関数が返すシンボル名の形式を決定する 0(ゼロ)か 1 の整数。  
:::    0  シンボル名をリストとして返す
::0  シンボル名をリストとして返す
:::    1  シンボル名を文字列のリストとして返す
::1  シンボル名を文字列のリストとして返す
;
:* symlist :  検索するシンボル名を指定する文字列のリスト。  
:* symlist :  検索するシンボル名を指定する文字列のリスト。  


; 戻り値
; 戻り値
17行目: 20行目:


; サンプル
; サンプル
: (atoms-family 0)
<pre class="brush:autolisp;">
: '''(BNS_PRE_SEL FITSTR2LEN C:AI_SPHERE ALERT DEFUN C:BEXTEND REM_GROUP B_RESTORE_SYSVARS BNS_CMD_EXIT LISPED FNSPLITL...'''
(atoms-family 0)
: ---
(BNS_PRE_SEL FITSTR2LEN C:AI_SPHERE ALERT DEFUN C:BEXTEND REM_GROUP B_RESTORE_SYSVARS BNS_CMD_EXIT LISPED FNSPLITL...
:シンボル CAR、CDR、XYZ が定義されているかどうかを確認し、そのリストを文字列として取得するためのコードは次のとおり。
 
: (atoms-family 1 '("CAR" "CDR" "XYZ"))  
; シンボル CAR、CDR、XYZ が定義されているかどうかを確認し、そのリストを文字列として取得するためのコードは次のとおり。
: '''("CAR" "CDR" nil)'''
(atoms-family 1 '("CAR" "CDR" "XYZ"))  
: * 上の結果は、シンボル XYZ が定義されていないことを示している。
("CAR" "CDR" nil)
; * 上の結果は、シンボル XYZ が定義されていないことを示している。
 
 
; 関数 x があれば関数名を返し、なければ nil を返す関数
(defun funcp (x) (car (atoms-family 0 (list x))))
(funcp  "lambda")
lambda
 
(funcp  "オレオレ関数")
nil
</pre>


-----
関連事項
* [[defun]] 関数


[[Category:AutoLISP]]
[[Category:AutoLISP]]

2022年1月13日 (木) 09:42時点における最新版

構文
(atoms-family format [symlist])
機能
現在定義されているシンボルのリストを返す。


引数
  • format : atoms-family 関数が返すシンボル名の形式を決定する 0(ゼロ)か 1 の整数。
  • 0 シンボル名をリストとして返す
  • 1 シンボル名を文字列のリストとして返す
  • symlist : 検索するシンボル名を指定する文字列のリスト。


戻り値
シンボルのリスト。 symlist 引数を指定すると、現在定義されているシンボルのうち指定されたシンボルを返す。指定されたシンボルが定義されてない場合は、nil を返す。


サンプル
(atoms-family 0)
(BNS_PRE_SEL FITSTR2LEN C:AI_SPHERE ALERT DEFUN C:BEXTEND REM_GROUP B_RESTORE_SYSVARS BNS_CMD_EXIT LISPED FNSPLITL...

; シンボル CAR、CDR、XYZ が定義されているかどうかを確認し、そのリストを文字列として取得するためのコードは次のとおり。
(atoms-family 1 '("CAR" "CDR" "XYZ")) 
("CAR" "CDR" nil)
; * 上の結果は、シンボル XYZ が定義されていないことを示している。


; 関数 x があれば関数名を返し、なければ nil を返す関数
(defun funcp (x) (car (atoms-family 0 (list x))))
(funcp  "lambda")
lambda

(funcp  "オレオレ関数")
nil

関連事項