#:g1: QiでL-99 (P10 連続する要素をランレングス圧縮する)

Posted 2008-03-12 14:29:00 GMT

-(http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-Nine_Lisp_Problems.html)
Qiのそこそこ普通のLISPとは違っていて、それでいてそんなに違っている訳でもないという辺が段々好きになって来たような、来ないような。

(encode [a a a a b c c a a d e e e e])
\=> [[4 a] [1 b] [2 c] [2 a] [1 d] [4 e]]
\

(define encode X -> (encode* (pack X)))

(define encode* [ ] -> [ ] [H | T] -> [[(length H) (head H)] | (encode* T)])


comments powered by Disqus