search
LoginSignup
0
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

Lisp Advent Calendar 2020 Day 20

posted at

updated at

Organization

Common Lispの外部ライブラリについてのまとめ

 Common Lisp 1年目です。
 Common Lispにはいろいろな外部ライブラリがあるので、そのいくつかについて簡単にまとめてみました。 (完成が遅れました、ライブラリを増やしてく予定です。)

cl-ppcre

 正規表現関連のライブラリです。 Perl を使ってるっぽいです。

;ロード
(ql:quickload :cl-ppcre)

分割

 cl-ppcre:split は文字列を分割してリストにして返します

;(cl-ppcre:split 正規表現 分割される文字列)

(cl-ppcre:split " " "Hello World")
;=> ("Hello" "World")

(cl-ppcre:split " " "  a") 
;>("" "" "a")
;分割する文字が複数あると、空文字がリストに含まれます

(cl-ppcre:split "," "a,b,c,")
;=>("a" "b" "c")

(cl-ppcre:split "[,.]" "a,b.c,d,e.f")
;=>("a" "b" "c" "d" "e" "f")
;正規表現で分割

置換

 正規表現で置換をします。

(cl-ppcre:regex-replace-all 置換前 文字列 置換後)

(cl-ppcre:regex-replace-all "[,.]" "a,b.c,d.e,f,g" " ")
;=>"a b c d e f g"

(cl-ppcre:regex-replace 置換前 文字列 置換後)
;最初のだけ置換します。

(cl-ppcre:regex-replace "[,.]" "a,b.c,d.e,f,g" " ")
;=>"a b.c,d.e,f,g"

詳細

manifest

 入ってるライブラリのドキュメントなどをブラウザで表示します。

(manifest:start) 
;=>"http://localhost:34603/"
;かえってきた URL にブラウザからアクセスするとドキュメントを見ることができます。

(manifest:stop)
;終了

↓スクリーンショット
あ.png

http://localhost:34603/quicklisp のように、先程のURLの最後に quicklisp をつけると、 quicklisp のパッケージを管理することができます。

詳細

終わりに

 ずっと寝てたら、アドベントカレンダーの期限が今日だったことを忘れてしまって...未完成のまま公開されてしまったので恥ずかしい思いをしてしまいました。まだ、載せたライブラリの数も少ないので、少しずつ増やしていきたいと思います。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0
Help us understand the problem. What are the problem?