「悲しいけど、これで間にあっちゃったのよね…」とのことですが
「悲しいけど、これで間にあっちゃったのよね…」とのことですが、 with-output-to-string 使うとなんだか綺麗に書けないですね。
なので根本的にズルをしてリストを string に coerce する方向で
(loop for i across "0123456789"
for pred = (evenp (char-code i))
if pred
collect i into a
else
collect i into b
finally (return (list (coerce a 'string) (coerce b 'string))))
で、無理矢理 SERIES
(require :series)
(let* ((series (series:scan "0123456789"))
(bools (series:map-fn t (lambda (x) (evenp (char-code x))) series)))
(mapcar (lambda (x) (series:collect 'string x))
(multiple-value-list (series:split series bools))))
2 件のコメント:
なるほど!勉強になります。
色んな方法がありますねー
元のエントリーでは、間に合ったと書いてましたが、その後カオスになってしまい間に合わなくなりましたw
カオスですか。
それもまた見てみたい気がしますw
Common Lisp にカオスは似合うよう気もしますし。
コメントを投稿