[lisp] タグが付いた質問
LISP(リスプ・LISt Processing)はプログラミング言語の一つです。大きな特徴として、S式と呼ばれる形式的な記述法を使う事やコードが第一級オブジェクトであること、文法構造さえ変更可能なマクロ等が挙げられます。LISPは比較的用意に実装出来るため数多くの方言が存在し、その中でもScheme CommonLisp EmacsLisp Clojure等がLISPの方言では良く知られています。
25 件の質問
0
票
1
回答
438
閲覧数
Autolispのコマンドから図面を開きたい
IJCAD 2023 に AutoCAD から Autolisp で開発したツールの移行を行っています。
コマンドから図面を開く操作を行っているlspファイルを使用しているのですが、command 関数を使用して図面を開こうとすると���図面を開くことが出来ません。
現象を再現するには、CAD が起動した状態で、テキストウインドウに以下のコードを入力します。
(command "open&...
1
票
0
回答
194
閲覧数
IJCADのLISPで任意の座標を囲むポリラインを取得したい
IJCAD2023 STDにAutoCADからAutoLISPで開発したツールの移行をしています。
(ssget)関数の座標フィルタを使用して、任意の座標を囲むポリラインを取得したいのですが、うまくいかない場合があります。
以下のコードを実行した場合、ss3のみ選択セットが取得できており、ポリラインの第一点のみが評価されていると思われます。
AutoCADでは全ての選択セットが取得できていました。
...
0
票
1
回答
223
閲覧数
IJCAD2022 で grread (lisp関数) から右クリックしたときの座標値がクリックした地点の値ではない
CAD 入力デバイスから値を読み取る grread で以下のコードを使用して、マウスの右か左か、どちらをクリックしたか判定して、クリックした地点の座標を取得する処理を行おうとしています。
(setq code_12 (grread (setq code (grread))))
このとき、変数code_12 に格納されるリストの 2 番目の要素はクリックした地点のXY座標が格納されるはずです。
...
1
票
1
回答
286
閲覧数
exit と quit とでコマンド再定義の扱いが異なる
IJLISPにて以下の2つの機能を作成しました。
;-----------------------------------------------------
(defun c:exit ( / )
;
(princ "\nこの図面を終了するには、quit コマンドを使用してください。")
(princ)
)
;------------------------------...
0
票
1
回答
830
閲覧数
IJCADにてクイック選択をマクロ化又はLISP化をしたい
IJCADのクイック選択で寸法の「寸法値の優先」に入力されている寸法を抽出選択し、色or画層を変えて、オンスケールでない寸法を可視化させたい。
クイック選択でその操作はできるが、その操作をマクロ化又はLISP化させたい。
2
票
1
回答
129
閲覧数
xyzzyで((4 1 . #1=(2 . #2=(3))) (1 4 . #1#) (1 2 4 . #2#) (1 2 3 4))は普通のリストで表示されない
このようなコードを作成しましたが、結果は普通なリストになっていませんでした。
(defun ins (x f s)
(cons
(append f (cons x s))
(if (null s)
nil
(ins x
(reverse (cons (car s) (reverse f)))
(cdr s)))))
...
1
票
1
回答
292
閲覧数
Emacs系のエディタを一通り学習する手順を教えてください
私はCommon LispとRacketを使うことができます。私はVimとDrRacketを使っています。
Emacs系のエディタとそのパッケージ等々、具体的にはGNU EmacsとSpacemacs, Slime, Lemなどを効率的に学習する手順を知りたいです。皆様からアドバイスを頂戴いたしたく、よろしくお願いします。
1
票
1
回答
996
閲覧数
common Lispをmacにインストールし開発する方法について
初歩的な質問で申し訳ございません。Land of Lispを読みLispを学習しようと思ったのですが、CLISPを公式サイト(http://clisp.cons.org) からインストールしなさいと書かれており、やろうとしたのですがわからないです。なにをどうすればわからない状態なので詳しく教えていただけなでしょうか。
3
票
1
回答
355
閲覧数
Common Lispで、#.を使って値の埋め込みをしたい
SBCLでライブラリを作っています。
原始的な例ですが、test.lispの中に
(defparameter default-data
#.(let ((size 10))
(make-array size :initial-contents (alexandria:iota size))))
のように書くと、コンパイルする時――例えば(asdf:load-system ...
0
票
1
回答
335
閲覧数
SBCLからシェルコマンドを使いたい。
名前付きパイプを以下の様に使う。
$ mkfifo pipe
$ cat pipe
$ echo "text" > pipe <<--これは別のプロセスから。
text
これをSBCLからやりたい。
以下は動いた。
* (run-program "/bin/ls" '("-a" "/Users/user") :output T)
でもこれは動かない。
* (run-...
0
票
1
回答
383
閲覧数
Lispbuilder-sdlで音楽を鳴らしたいのですが、"BABEL-ENCODINGS:INVALID-UTF8-STARTER-BYTE"というエラーがでて実行できません。
現在、以下のPDFを参考にゲームを作っております。
http://www.usamimi.info/~ide/programe/stg_doc/stg-commonlisp.pdf
上記PDFではサウンド周りのことは自分で調べて実装するように記載されているため、ひとまずlispbuilder-sdl-mixer-examplesを実行して動作を確認しようと思ったのですが、...
3
票
1
回答
1,695
閲覧数
Elispで変数を指定する際 'hoge と #'hoge の違いとは
(add-hook 'hook-name 'hoge)などで変数名がクオートのみのもの('hoge)とシャープのついたもの(#'hoge)を見かけますが、違いは何でしょうか。
またこれはEmacs Lisp特有でしょうか。
5
票
4
回答
650
閲覧数
evalの妥当な使いどころ
evalは強力過ぎるのでできるだけ使うな、とは良くいわれることですが、では、妥当な使いどころはどういう場合でしょうか。
私が思い付く限りでは、quoteの逆操作としてevalを利用するのは妥当かなと思います。
(eval ''foo)
→ foo
リスト操作でも可能ではありますが、
(cadr ''foo)
→ foo
はちょっと気持ち悪いですし、妥��かなと。
他には、...
0
票
1
回答
267
閲覧数
xyzzyのlispサイト上からファイルをダウンロードしてくる方法
xyzzy の lisp を使ってサイト上からファイルを取得したいのですが、サンプルなどが見つからず全くわからない状態です…。
site-lisp内をgrepを使いhttp://を検索しても見ましたがそれらしい所が見つかりませんでした。
どうやって xyzzy の lisp で HTTP上のファイルを開きファイルに保存すればよいでしょうか?
2
票
2
回答
348
閲覧数
sbcl,slime上でlispbuilder-examplesのタイトルバーが正しく表示されない
OSX10.10です。
SBCL1.2.10
lispbuilder-sdl
quicklispでlispbuilder導入後、sbcl、slime上で
(sb-int:with-float-traps-masked
(:invalid) (sdl-examples:particles))
を実行するとタイトルバーが真っ白で正しく表示されません。
...