コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
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資料
ヘルプ
検索
検索
表示
ログイン
個人用ツール
ログイン
ドットペアのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
ドットペア
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
AutoLISP のドットペア表記は、リスト表記の一種で LISP の基本的なデータ構造であるコンスセル(car と cdr のみがある状態)のデータであることを意味します。 つまり、 コンスセル表記の (1 . 2) とリスト表記の (1 2) は表記は異なりますが、データとしては同じなので、 * (car '(1 . 2)) と (car '(1 2)) の返り値は共に 1 。 * (cdr '(1 . 2)) と (cdr '(1 2)) の返り値は共に 2 。 ということになります。 リスト表記をあえてドットペア表記にすると以下のようになります。 * (1 2 3) → (1 . (2 . (3 . nil))) * (red blue . yellow) → (red . (blue . yellow)) (cons 1 2) -> (1 . 2) (list 1 2) -> (1 2) (cons 'A (cons 'B (cons 'C '()))) ; cons 関数でリストを作成。 -> (A B C) ; (list 'A 'B 'C) と同義なので、次の式は T となる。 (equal (list 'A 'B 'C) (cons 'A (cons 'B (cons 'C '())))) -> T 次も同様 (equal '(1 . nil) '(1)) -> T AutoLISP では、図形のデータを扱う場合にコンスセルを含んだエンティティのリストデータをよく扱います。 ; 円のエンティティリスト (-1 . <図形名: 222a36a8850>) (0 . "CIRCLE") (330 . <図形名: 222b6f229f0>) (5 . "2CD") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbCircle") (10 4092.2 32631.3 0.0) (40 . 3224.77) (210 0.0 0.0 1.0)
ドットペア
に戻る。
検索
検索
ドットペアのソースを表示
話題を追加