XLisp-Statリファレンス


●システム周り
用途表記使い方
一行コメント ; ;コメント
コメントアウト#| |##| 囲んだ部分
全部をコメント
|#
ファイルのダイアログopen-file-dialog(open-file-dialog nil "bitmap file (*.bmp)|*.bmp|All Files(*.*)|*.*")
Dataのロード
(スペース区切り)
(def x (read-data-file)) リストを分割して使います。
.lspのロードload部分作成用につかうと便利


●表示
・format関数
例 (def z 10)として説明出力
(format t "~d~%" z)10進法表示10
(format t "~x~%" z)16進法表示a
(format t "~2,'0X~%" z)2桁の16進法表示。空白は00A
(format t "~10,'0d~%" z)10桁の10進法表示。空白は00000000010
(format t "~5,'-d~%" z)5桁の10進法表示。空白は----10
(format t "~s~%" z)文字列10
(format t "~a~%" z)汎用10
(length (format nil "~x~%" z))標準出力以外はnil2
この場合の「length」は文字列の長さを測る関数(zは2桁ということ)
「~%」は改行を表わす。
「\"」は「"」を表わす。


●リストの結合
・append関数
> (append (list (list 1 2 3) 4) (list 5 6))
((1 2 3) 4 5 6)

・combine関数
> (combine (list (list 1 2 3) 4) (list 5 6))
(1 2 3 4 5 6)
> (combine (list (list 1 2 3) 4) (list 5 6) 7)
(1 2 3 4 5 6 7)

・cons関数
> (cons (list (list 1 2 3) 4) (list 5 6))
(((1 2 3) 4) 5 6)


●リスト分割
> (def x (list 1 2 3 4 5 6 7 8 9))
X
> (def x (split-list x 3))
X
> X
((1 2 3) (4 5 6) (7 8 9))



●繰り返し
・(dotimes (x 100) --- ) 変数 x を0から99まで繰り返す
(dotimes (x 10)
 (dotimes (y 10)
  (format t "x = ~d, y = ~d~%" x y)
))


●関数の作成
・defun関数
(defun {関数名} ({引数リスト}) {本体})

;2点間距離
(defun distance (x1 y1 x2 y2)
 (sqrt (+ (^ (- x2 x1) 2) (^ (- y2 y1) 2)) )
)


参考文献
Lisp-Stat



戻る戻る Produce:Teranishi