文字列を引数として取り、キーワードを返す Common Lisp の関数はありますか?
例: (keyword "foo")
->:foo
make-keyword
これは、キーワード作成プロセス(パッケージintern
への名前の入力)をパッケージ化する関数KEYWORD
です。:-)
(defun make-keyword (name) (values (intern name "KEYWORD")))
Alexandriamake-keyword
ライブラリには関数がありますが、大文字と小文字が保持されるため、必要なものを正確に取得するには、最初に文字列を大文字にする必要があります。
この例では、スペースを含む文字列も処理します (ドットで置き換えます)。
(defun make-keyword (name) (values (intern (substitute #\. #\space (string-upcase name)) :keyword)))
(intern "foo" "KEYWORD") -> :foo
その他の文字列/記号の変換、および記号とパッケージの詳細については、CommonLispクックブックの文字列のセクションを参照してください。