シンボル


*apropos-no-regexp*

Type: Variable
Package: editor
File: help.l
non-nil に設定すると、apropos 実行時に、正規表現のメタ文字はエスケープさ
れます。デフォルトは nil です。

SeeAlso: apropos
[ Intro | 目次 | 索引 | 目的別 | シンボル ]

*gensym-counter*

Type: Variable
Package: lisp
File: evalmacs.l
gensym で作られるシンボルの名前につく数字です。
使われるたびにインクリメントされます。

SeeAlso: gensym
[ Intro | 目次 | 索引 | 目的別 | シンボル ]

apropos

Type: Function
Arguments: apropos STRING &optional PRINT-KEY PRED
Package: editor
File: help.l
指定した正規表現に一致するシンボルの一覧を表示します。

  STRING    : 検索する文字列
  PRINT-KEY : バインドされているキーを表示するかどうか
        non-nil : 表示する
        nil     : 表示しない
  PRED      : ???

SeeAlso: *apropos-no-regexp*
[ Intro | 目次 | 索引 | 目的別 | シンボル ]

boundp

Type: Function
Arguments: boundp SYMBOL
Package: lisp
File: builtin.l
シンボルに値が設定されているかどうかを返します。

使用例:
  (boundp 'test)          => nil
  (defvar test "string")  => test
  (boundp 'test)          => t

SeeAlso: fboundp
[ Intro | 目次 | 索引 | 目的別 | シンボル ]

command-apropos

Type: Function
Arguments: command-apropos STRING
Package: editor
File: help.l
指定した正規表現に一致する interactive 宣言されている関数の一覧を表示し
ます。バインドされたキーがあれば、同時に表示します。

SeeAlso: apropos
[ Intro | 目次 | 索引 | 目的別 | シンボル ]

copy-symbol

Type: Function
Arguments: copy-symbol SYMBOL &optional COPY-PROPS
Package: lisp
File: builtin.l
同じ名前を持つuninternedなSYMBOLのコピーを返します。
COPY-PROPSがnon-nilなら、初期定義値、プロパティリストもコピーされます。

SeeAlso: uninterned
[ Intro | 目次 | 索引 | 目的別 | シンボル ]

default-value

Type: Function
Arguments: default-value SYMBOL
Package: lisp
File: builtin.l
シンボルのデフォルトの値を返します。
シンボルがバッファローカルでないならば、symbol-valueと同じ値を返します。
シンボルがバッファローカルの時にデフォルトの値を持たない場合には、エラー
になります。デフォルトの値はsetq-defaultで指定します。

使用例:
  ;;; シンボルがデフォルトの値を持たない場合
  (make-local-variable 'foo)    => t
  (setq foo 123)                => 123
  (default-value 'foo)          => 変数が定義されていません: foo

  ;;; バッファローカルなシンボルの場合
  (defvar-local bar 234)        => bar
  (setq bar 345)                => 345
  (default-value 'bar)          => 234

SeeAlso: symbol-value
[ Intro | 目次 | 索引 | 目的別 | シンボル ]

describe-function

Type: Function
Arguments: describe-function SYMBOL
Package: editor
File: help.l
指定された関数の引数と docstring を表示します。

SeeAlso: describe-variable
[ Intro | 目次 | 索引 | 目的別 | シンボル ]

describe-variable

Type: Function
Arguments: describe-variable SYMBOL
Package: editor
File: help.l
指定された変数の現在の値、種類(constant or special)および docstring を表
示します。

SeeAlso: describe-function
[ Intro | 目次 | 索引 | 目的別 | シンボル ]

fboundp

Type: Function
Arguments: fboundp SYMBOL
Package: lisp
File: builtin.l
シンボルに関数が定義されているかどうかを返します。

使用例:
  (fboundp 'car)
  => t
  (fboundp 't)
  => nil

SeeAlso: boundp
[ Intro | 目次 | 索引 | 目的別 | シンボル ]

gensym

Type: Function
Arguments: gensym &optional X
Package: lisp
File: evalmacs.l
uninterned なシンボルを生成します。印字名は G の後に *gensym-counter* の
値をつなげたものです。

引数 X を指定すると、
  X が整数のときは *gensym-counter* の代わりに X の値が使われます。
  X が文字列のときは "G" の代わりに X の値が使われます。

SeeAlso: *gensym-counter*
SeeAlso: make-symbol
SeeAlso: unintern
[ Intro | 目次 | 索引 | 目的別 | シンボル ]

get

Type: Function
Arguments: get SYMBOL INDICATOR &optional DEFAULT
Package: lisp
File: builtin.l
シンボルのプロパティを返します。

  SYMBOL    : プロパティを返すシンボル
  INDICATOR : プロパティのインジケータ

使用例:
  ;;; シンボルにプロパティを設定してみる。
  (get 'clyde 'species)                         => nil 
  (setf (get 'clyde 'species) 'elephant)        => elephant 
  (get 'clyde 'species)                         => elephant

  ;;; 関数の説明を取得してみる。
  (defun foo (x) "increment" (1+ x))            => foo
  (get 'foo 'lisp::function-documentation)      => "increment"

[ Intro | 目次 | 索引 | 目的別 | シンボル ]

get-properties

Type: Function
Arguments: get-properties PLACE INDICATOR-LIST
Package: lisp
File: builtin.l
2番目の引数がリストになっているgetfです。
一致すると多値で値を返します。

使用例:
  ;;; get-propertiesで値を取得してみる。
  (get-properties '(ind1 10 ind2 20 ind3 30) '(ind2))
  => ind2
     20
     (ind2 20 ind3 30)

[ Intro | 目次 | 索引 | 目的別 | シンボル ]

getf

Type: Function
Arguments: getf PLACE INDICATOR &optional DEFAULT
Package: lisp
File: builtin.l
インジケータと値のリストから、インジケータに一致する値を取得します。

  (get x y) == (getf (symbol-plist x) y)

使用例:
  ;;; 実用性は無いけれどgetfを使って取得してみる。
  (getf '(ind1 10 ind2 20 ind3 30) 'ind2)
  => 20

[ Intro | 目次 | 索引 | 目的別 | シンボル ]

lisp-complete-symbol

Type: Function
Arguments: lisp-complete-symbol
Package: editor
File: lispmode.l
Lisp のシンボル名を補完します。[ESC TAB]

[ Intro | 目次 | 索引 | 目的別 | シンボル ]

make-symbol

Type: Function
Arguments: make-symbol PRINT-NAME
Package: lisp
File: builtin.l
印字名がPRINT-NAMEであるuninternedなシンボルを返します。

参考:
  evalmacs.l

SeeAlso: intern
SeeAlso: symbol-package
[ Intro | 目次 | 索引 | 目的別 | シンボル ]

remprop

Type: Function
Arguments: remprop SYMBOL INDICATOR
Package: lisp
File: builtin.l
シンボルのプロパティを削除します。

  SYMBOL    : プロパティを返すシンボル
  INDICATOR : プロパティのインジゲーター

使用例:
  ;;; 関数の説明を削除してみる。
  (defun foo (x) "increment" (1+ x))            => foo
  (get 'foo 'lisp::function-documentation)      => "increment"
  (remprop 'foo 'lisp::function-documentation)  => t
  (get 'foo 'lisp::function-documentation)      => nil

[ Intro | 目次 | 索引 | 目的別 | シンボル ]

symbol-name

Type: Function
Arguments: symbol-name SYMBOL
Package: lisp
File: builtin.l
シンボルの名前を印字用の文字列として返します。

使用例:
  ;;; シンボルxyzzyを文字列にしてみる。
  (symbol-name 'xyzzy)
  => "xyzzy"

SeeAlso: intern
[ Intro | 目次 | 索引 | 目的別 | シンボル ]

symbol-package

Type: Function
Arguments: symbol-package SYMBOL
Package: lisp
File: builtin.l
シンボルが属するパッケージを返します。
make-symbolとかgensymで生成されたシンボルはどのパッケージにも属しません。

使用例:
  ;;; uninternedなシンボルとそうでないシンボルを作ってみる。
  (setq foo 2)                          => foo
  (symbol-package 'foo)                 => #<package: user>
  
  (setq bar (make-symbol "bar"))        => #:bar
  (set bar 3)                           => 3
  (symbol-value bar)                    => 3
  (symbol-package bar)                  => nil

[ Intro | 目次 | 索引 | 目的別 | シンボル ]

symbol-plist

Type: Function
Arguments: symbol-plist SYMBOL
Package: lisp
File: builtin.l
シンボルのプロパティリストを返す。

使用例:
  ;;; シンボルのプロパティリストを見てみる。
  (symbol-plist 'xyzzy)         => nil
  (setf (get 'xyzzy 'foo) 1)    => 1
  (symbol-plist 'xyzzy)         => (foo 1)

[ Intro | 目次 | 索引 | 目的別 | シンボル ]

symbol-value

Type: Function
Arguments: symbol-value SYMBOL
Package: lisp
File: builtin.l
シンボルに束縛されている値を返します。

  SYMBOL : 値を返すシンボル

使用例:
  ;;; fooというシンボルの値を返してみる。
  (set 'foo 3)          => 3
  (symbol-value 'foo)   => 3
  foo                   => 3

[ Intro | 目次 | 索引 | 目的別 | シンボル ]

型一覧

Type: Misc
Package: lisp
型は綺麗に階層構造を成す訳ではないのですが、subtypepでロジックに組み込ま
れているところから、嘘にならない程度に階層化したものです。[]付きの物は二
重に出現しています。

  list                                  リスト
  ├null                                ヌル
  └cons                                コンス
  atom                                  アトム
  ├number                              数値
  │├real                              実数
  ││├rational                        有理数
  │││├ratio                         分数
  │││└integer                       整数
  │││  └bignum                      −
  ││└float                           浮動小数点数
  ││  ├short-float                   小精度浮動小数点数
  ││  ├single-float                  単精度浮動小数点数
  ││  ├double-float                  倍精度浮動小数点数
  ││  └long-float                    長精度浮動小数点数
  │└complex                           複素数
  ├symbol                              シンボル
  │├[null]                            −
  │└keyword                           キーワード
  ├character                           文字
  │├base-character                    −
  ││└standard-char                   標準文字
  │└extended-character                −
  ├stream                              ストリーム
  │├two-way-stream                    双方向ストリーム
  │├echo-stream                       −
  │├broadcast-stream                  −
  │├file-stream                       ファイルストリーム
  │├synonym-stream                    文字列ストリーム
  │├string-stream                     −
  │└concatenated-stream               −
  ├sequence                            シーケンス
  │├[list]                            −
  │└[vector]                          −
  └array                               配列
    ├simple-array                      単純配列
    │└simple-string                   単純文字列
    └vector                            ベクタ
      ├simple-vector                   単純ベクタ
      └string                          文字列
        └[simple-string]               −

使用例:
  ;;; listはsequenceで、sequenceはatomだけど、listはatomではない。
  (subtypep 'list 'sequence)    => t
  (subtypep 'sequence 'atom)    => t
  (subtypep 'list 'atom)        => nil

参考:
  typespec.l

[ Intro | 目次 | 索引 | 目的別 | シンボル ]