コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
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資料
ヘルプ
検索
検索
表示
ログイン
個人用ツール
ログイン
Letのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Let
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
AutoLISP には Common Lisp にある局所変数 let や let* はない。 そのため、局所変数を使いたいケースでは、サブルーチン的な関数作ってそっちでローカル変数使って処理するか、lambda を使って let を代用する方法が考えられる。 コスト的には lambda 使ったほうが効率いいと思うけど、バランスで使い分けかな。 <pre class="brush:autolisp;"> ; let の代用で lambda を使う例 ; (* x y) を (let ((x 2)) (* x y)) で処理したいような時 (setq x 1 y 2) ; 普通の変数をセット (* x y) ; 1x2=2 ; 変数 x を let 的に処理して (* x y) の結果を返す (apply (lambda (x) ; 局所変数 (setq x 2) ; lambda 内の x をセット (* x y)) '(x) ) ; 2x2=4 (* x y) ; 1x2=2 普通の変数は変わってないのでlambda前と同じ結果 </pre> ----- 関連記事 * [[lambda]]
Let
に戻る。
検索
検索
Letのソースを表示
話題を追加