dolist 排除計画 - split 編
背景
文字列の分割 - Shammerismで書いた split-string も dolist を使用していたので、これを使用しないように変更。
新実装
(defun split (base delimiter) (let ((x (search delimiter base :start2 (length delimiter)))) (if (null x) (cons base nil) (append (cons (subseq base 0 x) nil) (split (subseq base (+ x (length delimiter))) delimiter)))))
実行結果
? (split "aaa,,bbb,,ccc,,ddd" ",,") ("aaa" "bbb" "ccc" "ddd") ? (split "Host: 1.1.1.1" ":") ("Host" " 1.1.1.1") ?