コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
GizmoLab 関連
オンラインショップ
CAD&CGブログ
YouTube
GitHub
CAD 系
GizmoTools
AutoLISP
Visual LISP
BricsCADのLISP
GzLib
DCL
OpenDCL
DWG
DXF
CADのコマンド一覧
システム変数
図形の種類
Ver別サポートAPI
CAD用語集
メモ
newLISP
CommonLISP
Script-Fu
Inno setup
JavaScript
ANDROID
Windowsでのファイルハッシュ確認
Prolog
Python
Clojure
Electron
フォント
数学メモ
イメージサイズとメモリ量
blender
Processwire
Win10,11メモ
IIJmio
mediawiki資料
ヘルプ
検索
検索
表示
ログイン
個人用ツール
ログイン
Condのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Cond
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
; 構文 : (cond [''(test result ...)'' ...]) ; 機能 : LISP の多分岐条件関数としての機能を果たす。 ; 引数 :* 任意の数のリスト(test result ...)。 ::* 各リストの先頭の項目を評価し、それが nil 以外の値を返すまで、各リストの先頭項目の評価を続ける。そして、先頭項目の評価結果が nil 以外だったリストの2 番目以降の式を評価する。 ; 戻り値 : サブリストの最後の式の値。 サブリストの中に式が 1 つしかない(つまり result が存在しない)場合は、test 式の値を返す。引数が与えられていない場合、cond 関数は nil を返す。 ; サンプル : 次の例では、cond 関数を使用して絶対値の計算を行っている。 <pre class="brush:autolisp;"> (cond ((minusp a) (- a)) (t a) ) </pre> * 変数 a に値 -10 が代入されていると、10 を返す。 : 次に示すように、cond 関数は多分岐型の関数として使用される。通常は最後の(既定値の)test 式には T を使用する。次に簡単な例を示す。変数 s にユーザが入力した文字列を与えると、cond 関数はその文字列をテストし、Y か y か Y(全角) なら 1 を、N か n か N(全角) なら 0(ゼロ)を、それ以外の場合は nil を返す。 <pre class="brush:autolisp;"> (cond ((= s "Y") 1) ((= s "y") 1) ((= s "Y") 1) ((= s "N") 0) ((= s "n") 0) ((= s "N") 0) (t nil) ) </pre> <pre class="brush:autolisp;"> ; 柔軟な条件処理が行える例 (cond ((= a b) (princ "\n(a) and (b) are equal")) ((and (= (type a) 'INT) (= (type b) 'INT)) (princ (strcat "\n(a)+(b)=" (itoa (+ a b))))) ((and (= (type a) 'STR) (= (type b) 'STR)) (princ (strcat "\n(a)+(b)=" a b))) ((and (listp a) (= (type b) 'SUBR)) (mapcar '(lambda (x) (princ (b x))) a))) </pre> ----- * [[比較演算と条件]] [[Category:AutoLISP]]
このページで参照読み込みされているページ:
テンプレート:AutoLISP
(
ソースを閲覧
)
Cond
に戻る。
検索
検索
Condのソースを表示
話題を追加