編集
変数
setq
変数を定義する。(複数可)
引数:シンボルと代入したい値
戻り値:代入した値(複数定義した場合は最後の値のみ)
例:Xに10 Yに”Apple”を代入する。
(setq X 10 Y "Apple")
set
関数 read (シングルクォーテーションで省略可)で 取得したシンボルを使って変数を定義する。
引数:シンボルと代入したい値
戻り値:代入した値
例:Xに10を代入する。
(set (read "X") 10)
read
文字列から取得した最初のリスト、アトムを得る
引数:文字列
戻り値:リスト、アトム
例:変数a に入れたシステム変数名にを変数名にして、そのシステム変数の値を代入する。
(システム変数名をそのまま変数にしていいものなのかわからないので、念のためJaga-を頭に着けました。)
(setq a "OSMODE")
(set (read (strcat "Jaga-" a)) (getvar a))
関数の省略
read は ’ で省略できます。
例:Xに10を代入する。
(set 'x 10)
setとreadは、mapcar と併せて、まとめて変数に値を代入したいときに便利です。
quote、read、list どれも省略でき、省略形の方が使いやすいと思います。
例: 変数a b c dに、1 2 3 4をそれぞれ代入する。
(mapcar (quote set)
(list (read "a") (read "b") (read "c") (read "d"))
(list 1 2 3 4)
)
関数の省略
例: 変数a b c dに、1 2 3 4をそれぞれ代入する。
(mapcar 'set '(a b c d) '(1 2 3 4))
quote もしくは function
関数を引用関数にして、引数に関数が必要なコマンドに渡す。
‘ で省略できる。
引数:引用関数として使う関数名
既に値が入っている変数
これらは関数ではなく、すでに値が入っている変数です。
pi
円周率
T
True (条件を満たしている)
nil
False (条件を満たしていない)
文字列
princ
文字を表示する。引数が省略されている場合は何も戻さない。
引数:文字列 (省略可)
戻り値:表示させたい文字列
例:文字列 “ABC” をコマンドラインに表示する
(princ "ABC")
改行を入れる場合は \n を入れる。
例:”JagaimoLISP”を2行で表示する
(princ "\nJagaimo\nLISP\n")
以下のように2行でコマンドラインに表示されます。
前後にも改行を入れたのは前後のメッセージと同じ行にならないようにです。
Jagaimo
LISP
strcat
複数の文字列をつなげる。
引数:文字列
戻り値:引数の文字列を1つにしたもの
例:2つの文字列 “Jagaimo” “LISP”を1つの文字列”JagaimoLISP”にする。
(strcat "Jagaimo" "LISP")
itoa
整数を文字列に変換する
引数:数値(整数)
戻り値:引数の数値を文字列にしたもの
例:数値の12を文字列の”12″にする
(itoa 12)
rtos
整数、実数を文字列に変換する
引数:数値、変換モード、精度
戻り値:引数の数値を文字列にしたもの
変換モード
- 指数表記
- 十進表記
- フィートと小数インチ
- フィートと分数インチ
- 分数表記
例:数値の12.25を文字列の”12.25″にする
(rtos 12.25 2 2)
例:数値の12.25を文字列の”12 1/4″にする
(rtos 12.25 5 2)
atoi
文字列を整数に変換する
引数:文字列
戻り値:引数の文字列を数値(整数)にしたもの。
例:文字列の”12.3″を整数の12にする。(小数点以下は切り捨て。)
(atoi "12.3")
atof
文字列を実数に変換する
引数:文字列
戻り値:引数の文字列を数値にしたもの
例:文字列の”12.3″を数値の12.3にする
(atof "12.3")