データ型
Type: Function
Arguments: alpha-char-p CHAR
Package: lisp
File: builtin.l
文字が英字[A-Za-z]かどうかを判定します。
CHAR : 判定する文字
SeeAlso: alphanumericp
Type: Function
Arguments: alphanumericp CHAR
Package: lisp
File: builtin.l
文字が英数字[A-Za-z0-9]かどうかを判定します。
CHAR : 判定する文字
SeeAlso: alpha-char-p
Type: Function
Arguments: arrayp OBJECT
Package: lisp
File: builtin.l
OBJECT が array なら t 、それ以外なら nil を返します。
Type: Function
Arguments: atom OBJECT
Package: lisp
File: builtin.l
OBJECTがconsでなければt、それ以外ならnilを返します。
(atom x) == (typep x 'atom) == (not (typep x 'cons))
注意:(atom '()) は '() == nilなのでt
Type: Function
Arguments: characterp OBJECT
Package: lisp
File: builtin.l
OBJECT が character なら t 、それ以外なら nil を返します。
Type: Macro
Arguments: check-type PLACE TYPESPEC &optional STRING
Package: lisp
File: condition.l
(詳細不明)
使用例:
;;; nの型チェックをしてみる。
(check-type n integer)
Type: Function
Arguments: compiled-function-p OBJECT
Package: lisp
File: builtin.l
OBJECTがcompiled code objectならt、それ以外ならnilを返します。
使用例:
;;; carの型を調べてみる。
(type-of #'car)
=> compiled-function
(compiled-function-p #'car)
=> t
Type: Function
Arguments: complexp OBJECT
Package: lisp
File: builtin.l
OBJECT が complex number なら t 、それ以外なら nil を返します。
Type: Function
Arguments: consp OBJECT
Package: lisp
File: builtin.l
OBJECTがconsならt、それ以外ならnilを返します。
(consp x) == (typep x 'cons) == (not (typep x 'atom))
注意: (consp '()) は '() == nilなのでnil。
Type: Function
Arguments: double-float-p OBJECT
Package: lisp
File: builtin.l
OBJECT が double-float なら t 、それ以外なら nil を返します。
Type: Function
Arguments: eq X Y
Package: lisp
File: builtin.l
X と Y が同一オブジェクトならt、そうでないならnilを返します。
数値や文字列に対しては見かけ上同じでもtとなる保障はありません。xyzzyでは、
数値はtとなるが文字列ではnilとなるように実装されているようです。
使用例:
;;; eqで比較してみる。
(eq 'foo 'foo) => t ; 仕様
(eq 2 2) => t ; 処理系依存
(eq "foo" "foo") => nil ; 処理系依存
(eq '(1 2) '(1 2)) => nil ; 処理系依存
Type: Function
Arguments: eql X Y
Package: lisp
File: builtin.l
X と Y が同一オブジェクトか、同じ型の数値または文字型で値が等しいかを返します。
等しければtを、そうでなければnilを返します。eqとは異なり、値として等しい
かを判断します。ただし、中身までは見ないので文字列は対象外となります。
使用例:
;;; eqlで比較してみる。
(eql 'foo 'foo) => t ; 仕様
(eql 2 2) => t ; 仕様
(eql "foo" "foo") => nil ; 処理系依存
(eql '(1 2) '(1 2)) => nil ; 処理系依存
Type: Function
Arguments: equal X Y
Package: lisp
File: builtin.l
X と Y が同じ構造を持っていればtを、そうでなければnilを返します。
使用例:
;;; equalで比較してみる。
(equal 'foo 'foo) => t ; 仕様
(equal 2 2) => t ; 仕様
(equal "foo" "foo") => t ; 仕様
(equal '(1 2) '(1 2)) => t ; 仕様
Type: Function
Arguments: equalp X Y
Package: lisp
File: builtin.l
equalと同じように X と Y を比較します。例えば大文字と小文字は区別しません。
使用例:
;;; equalpで比較してみる。
(equalp "Foo" "foo") => t
Type: Function
Arguments: floatp OBJECT
Package: lisp
File: builtin.l
OBJECTがfloatならt、それ以外ならnilを返します。
Type: Function
Arguments: functionp OBJECT
Package: lisp
File: builtin.l
OBJECTが関数ならt、それ以外ならnilを返します。
Type: Function
Arguments: integerp OBJECT
Package: lisp
File: builtin.l
OBJECTがintegerならt、それ以外ならnilを返します。
(integerp x) == (typep x 'integer)
Type: Function
Arguments: kana-char-p CHAR
Package: editor
File: builtin.l
文字が半角カナ文字かを返します。
t 半角カナ文字である。
nil 半角カナ文字でない。
カナ文字は以下の範囲です。
Code Char
---- ----
0xa1 .. 0xb0 #\。 .. #\ー
0xb1 .. 0xdd #\ア .. #\ン
0xde #\゙
0xdf #\゚
SeeAlso: kanji-char-p
Type: Function
Arguments: kanji-char-p CHAR
Package: editor
File: builtin.l
文字CHARが漢字かを返します。
(詳細不明)
SeeAlso: kana-char-p
Type: Function
Arguments: keymapp OBJECT
Package: editor
File: builtin.l
指定されたOBJECTがキーマップかを返します。
t OBJECTはキーマップ
nil OBJECTはキーマップではない
Type: Function
Arguments: keywordp OBJECT
Package: lisp
File: builtin.l
与えられたオブジェクト OBJECT がキーワードか否かを返します。 OBJECT がシ
ンボルであり、かつ keyword パッケージに所属するときに t を返しているよう
です。
(symbol-package 'a)
=>#<package: user>
(symbol-package :a)
=>#<package: keyword>
(symbolp 'a)
=>t
(keywordp 'a)
=>nil
(symbolp :a)
=>t
(keywordp :a)
=>t
Type: Function
Arguments: listp OBJECT
Package: lisp
File: builtin.l
OBJECTがconsか空リスト()ならt、それ以外ならnilを返します。
(listp x) == (typep x 'list) == (typep x '(or cons null))
Type: Function
Arguments: local-variable-p SYMBOL &optional BUFFER
Package: editor
File: builtin.l
指定されたシンボルがバッファローカル変数かどうかを判定します。
使用例:
;;; buffer: foo
(local-variable-p 'abc)
=> nil
(make-local-variable 'abc)
=> t
(local-variable-p 'abc)
=> t
;;; buffer: bar
(local-variable-p 'abc)
=> nil
SeeAlso: make-local-variable
Type: Function
Arguments: long-float-p OBJECT
Package: lisp
File: builtin.l
OBJECTがlong-floatならt、それ以外ならnilを返します。
Type: Function
Arguments: markerp OBJECT
Package: editor
File: builtin.l
指定されたOBJECTがマーカーかを返します。
t OBJECTはマーカー
nil OBJECTはマーカーではない
Type: Function
Arguments: null OBJECT
Package: lisp
File: builtin.l
OBJECTが()ならばt、それ以外ならnilを返します。
(null x) == (typep x 'null) == (eq x '())
Type: Function
Arguments: numberp OBJECT
Package: lisp
File: builtin.l
OBJECTが数値ならばt、それ以外ならnilを返します。
(numberp x) == (typep x 'number)
Type: Function
Arguments: packagep OBJECT
Package: lisp
File: builtin.l
OBJECTがpackageならt、それ以外ならnilを返します。
使用例:
;;; 指定された文字列のパッケージがあるかを調べる。
(setq pkg (find-package "win32")) => nil
(packagep pkg) => nil
(setq pkg (find-package "winapi")) => #<package: winapi>
(packagep pkg) => t
Type: Function
Arguments: processp OBJECT
Package: editor
File: builtin.l
指定されたOBJECTがプロセスかを返します。
t OBJECTはプロセス
nil OBJECTはプロセスではない
Type: Function
Arguments: rationalp OBJECT
Package: lisp
File: builtin.l
OBJECTがratioかintegerならt、それ以外ならnilを返します。
(rationalp x) == (typep x 'rational)
Type: Function
Arguments: realp OBJECT
Package: lisp
File: builtin.l
OBJECT が real number なら t 、それ以外なら nil を返します。
Type: Function
Arguments: regexpp OBJECT
Package: editor
File: builtin.l
指定されたOBJECTがコンパイル済み正規表現かを返します。
t OBJECTはコンパイル済み正規表現
nil OBJECTはコンパイル済み正規表現ではない
Type: Function
Arguments: sequencep OBJECT
Package: lisp
File: builtin.l
OBJECT が sequence なら t 、そうでなければnilを返します。
Type: Function
Arguments: short-float-p OBJECT
Package: lisp
File: builtin.l
OBJECTがshort-floatならt、それ以外ならnilを返します。
Type: Function
Arguments: *builtin-function-p OBJECT
Package: system
File: builtin.l
オブジェクトがビルトイン関数かどうかを調べます。
使用例:
;;; carを調べてみる。
(si:*builtin-function-p #'car)
=> t
Type: Misc
Package: lisp
simple-string とはシンプルな文字列のことを指します。
共有可能でなく、フィルポインタを持たず、サイズ変更不可能な文字列のことで
す。formatやconcatを使って文字列を操作する場合にはsimple-stringのままです。
使用例:
;;; simple-stringの場合
(type-of "abc")
=> simple-string
SeeAlso: simple-string-p
Type: Function
Arguments: simple-string-p OBJECT
Package: lisp
File: builtin.l
OBJECTがsimple-stringならt、それ以外ならnilを返します。
使用例:
;;; make-vectorを使ってsimple-stringでないstringを作ります。
(setq var1 (make-vector 10 :element-type 'character)
var2 (make-vector 10 :element-type 'character :fill-pointer 0))
=> ""
(type-of var1) => simple-string
(type-of var2) => string
(simple-string-p var1) => t
(simple-string-p var2) => nil
SeeAlso: simple-string
Type: Function
Arguments: simple-vector-p OBJECT
Package: lisp
File: builtin.l
OBJECTがsimple-vectorならt、それ以外ならnilを返します。
Type: Function
Arguments: single-float-p OBJECT
Package: lisp
File: builtin.l
OBJECTがsingle-floatならt、それ以外ならnilを返します。
Type: Function
Arguments: standard-char-p CHAR
Package: lisp
File: builtin.l
文字が、改行文字もしくは [ -~] かどうかを判定します。
表示可能な文字は SJIS 文字コードで 10, 32-126 です。
CHAR : 判定する文字
戻り値:
t standard-char である
nil standard-char でない
補足:
;;; 改行文字(SJIS 10) 以外の standard-char 文字一覧出力 (SJIS 32-126)
(do ((i (char-code #\SPC) (1+ i)))
((= i (char-code #\DEL)))
(format t "~A" (code-char i)))
Type: Function
Arguments: stringp OBJECT
Package: lisp
File: builtin.l
OBJECTがstringならt、それ以外ならnilを返します。
Type: Function
Arguments: subtypep TYPE1 TYPE2
Package: lisp
File: typespec.l
ある型が他の型の副型かどうか調べて多値で返します。
(詳細不明)
TYPE1 : 副型を指定します。
TYPE2 : 型を指定します。
t t TYPE1は明確にTYPE2の副型
nil t TYPE1は明確にTYPE1の副型ではない
nil nil 関係を判断できない
使用例:
;;; サブタイプかどうかを調べる。
(subtypep 'single-float 'number)
=> (single-float double-float long-float)
(subtypep 'cons 'number)
=> nil
Type: Function
Arguments: symbolp OBJECT
Package: lisp
File: builtin.l
OBJECTがsymbolならt、それ以外ならnilを返します。
(symbolp x) == (typep x 'symbol)
Type: Function
Arguments: type-of OBJECT
Package: lisp
File: builtin.l
与えられたオブジェクトの型を返します。
(typep OBJECT (type-of OBJECT))は必ずtになります。
使用例:
;;; それぞれの型を調べてみる。
(type-of 1)
=> integer
(type-of 2.2)
=> single-float
(type-of #'car)
=> compiled-function
Type: Function
Arguments: vectorp OBJECT
Package: lisp
File: builtin.l
OBJECTがvectorならt、それ以外ならnilを返します。
Type: Function
Arguments: windowp OBJECT
Package: editor
File: builtin.l
指定されたOBJECTがウィンドウかを返します。
t OBJECTがウィンドウ
nil OBJECTはウィンドウではない