:foo という、キーワードを作りたいのですが、

```

    (intern ":FOO")
    
```

としても、|:FOO|というシンボルができるようです。 どうすれば、:fooが作れますか。
CC BY-SA 3.0
2014-12-16T08:56:03.107
1722
2014-12-16T09:30:33.387
2014-12-16T09:30:33.387
3124
3510
question
common-lisp
文字列からキーワードを作りたい
internで keywordパッケージにインターンしてください。

```

    (intern "FOO" :keyword)
    ;=> :FOO
    
```

':fooのようなシンボルはkeywordパッケージのシンボルの略記で、'keyword:fooの略記ともみなせますので、keywordパッケージにインターンすることによって作成します。

```

    (intern ":FOO")
    
```

としても現在のパッケージの下に、|:FOO|というシンボルが作成されるだけになります。
CC BY-SA 3.0
2014-12-16T08:57:06.137
1723
2014-12-16T08:57:06.137
3510
1722
answer
ユーティリティライブラリの「[Alexandria](http://common-lisp.net/project/alexandria/)」に`make-
keyword`という関数があります。

```

    (alexandria:make-keyword "FOO")
    ;=> :FOO
    ;   :EXTERNAL
    
```
CC BY-SA 3.0
2014-12-16T09:28:52.163
1727
2014-12-16T09:28:52.163
3124
1722
answer