R6RS:翻訳:R6RS:11.10 Symbols
11.10 シンボル
シンボルは名前が同じようにつづられる場合、かつその場合にかぎり(eq?、 eqv?、 equal? において)ふたつのシンボルが等しいという事実にのみ有用性のあるオブジェクトである。シンボルリテラルは quote を使って作られる。
[procedure] (symbol? obj)
obj がシンボルであれば #t を返し、そうでなければ #f を返す
(symbol? ’foo) ⇒ #t (symbol? (car ’(a b))) ⇒ #t (symbol? "bar") ⇒ #f (symbol? ’nil) ⇒ #t (symbol? ’()) ⇒ #f (symbol? #f) ⇒ #f
[procedure] (symbol->string symbol)
シンボルの名前を変更不可能な文字列として返す。
(symbol->string ’flying-fish)
⇒ "flying-fish"
(symbol->string ’Martin) ⇒ "Martin"
(symbol->string
(string->symbol "Malvina"))
⇒ "Malvina"
[procedure] (symbol=? symbol1 symbol2 symbol3 ...)
シンボル群が等しい、即ち、名前が同じようにつづられる場合に #t を返す。
[procedure] (string->symbol string)
名前が string であるようなシンボルを返す。
(eq? ’mISSISSIppi ’mississippi)
⇒ #f
(string->symbol "mISSISSIppi")
⇒the symbol with name "mISSISSIppi"
(eq? ’bitBlt (string->symbol "bitBlt"))
⇒ #t
(eq? ’JollyWog
(string->symbol
(symbol->string ’JollyWog)))
⇒ #t
(string=? "K. Harper, M.D."
(symbol->string
(string->symbol "K. Harper, M.D.")))
⇒ #t