Hatena::Groupcadr

わだばLisperになる このページをアンテナに追加 RSSフィード

2004 | 12 |
2005 | 01 | 02 | 07 | 10 | 11 |
2006 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 11 |

2010-03-13

KMRCLを眺める CONCAT-SEPARATED-STRINGS (113)

| 23:48 | KMRCLを眺める CONCAT-SEPARATED-STRINGS (113) - わだばLisperになる を含むブックマーク はてなブックマーク - KMRCLを眺める CONCAT-SEPARATED-STRINGS (113) - わだばLisperになる

今回はKMRCLのstrings.lispから、CONCAT-SEPARATED-STRINGSです。

名前からするとセパレータで区切られた文字列を出力する様子

動作は、

(KL:CONCAT-SEPARATED-STRINGS ", " 
                             '("foo" "bar" "baz")
                             '("foo" "bar" "baz")
                             '("foo" "bar" "baz"))
⇒ "foo, bar, baz, foo, bar, baz, foo, bar, baz"

定義は、

(defun concat-separated-strings (separator &rest lists)
  (format nil (concatenate 'string "~{~A~^" (string separator) "~}")
          (append-sublists lists)))

となっていて、以前に眺めた、APPEND-SUBLISTSが利用されています。