文字列の繰り返し — #:g1

Posted 2010-11-29 14:34:00 GMT

RubyでもPythonでも、

"a" * 3
#=> 'aaa'
となるのを見て、
"-*" * 3.5
はどうなるのかなあ、と思って試したところ、自分が想像していた
#=> '-*-*-*-' 
みたいなことにはなりませんでした。
ということで折角なので記念に作ってみました。
(defun string* (string n)
  (collect 'string
           (subseries (apply #'series (coerce string 'list))
                      0
                      (truncate (* n (length string))))))
(string* "-*" 5.5)
;=> "-*-*-*-*-*-"

(string* "-***" (+ 3 1/4)) ;=> "-***-***-***-"


2文字の場合にしか上手くはまらず、全然使いやすくないです…。

comments powered by Disqus