(rontolisp) docs
← 関数

symbol-name

(symbol-name symbol)

シンボルの名前を文字列として返します。リーダーは Common Lisp と同じくエスケープされていないシンボルを大文字化する(リーダーのケースのガイドを参照)ため、シンボルは大文字化された名前を報告します — (symbol-name 'foo)"FOO"(symbol-name 'car)"CAR" で、Common Lisp と同じ答えです。キーワードの先頭の :gensym/make-symbol の結果の #: プレフィックス、そしてパッケージ修飾子は、いずれもシンボルの所在を示すもので名前の一部ではないため取り除かれます — princ が印字するテキストと同じです(prin1 はそれらを保ちます)。nilt はシンボル NIL/T なので、他のシンボルと同様に大文字化された名前を報告します。

コンパイルバックエンド(JVM/WASM)では symbol-nameprinc-to-string の機構を共有するため、シンボル以外の引数はエラーにならずその表示テキストを返します(インタプリタはエラーを通知します)。

リーダーはシンボル名の Common Lisp エスケープ構文をサポートします: バックスラッシュは次の 1 文字をそのまま名前の一部にし、|...| の複数エスケープはパイプの間のすべて — 空白や終端文字を含む — を名前の一部にします。'|when used|"when used" という名前の 1 つのシンボルで、'|Foo| は混在ケースを保ちます。