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-02-21

KMRCLを眺める LIST-TO-DELIMITED-STRING (94)

| 23:50 | KMRCLを眺める LIST-TO-DELIMITED-STRING (94)  - わだばLisperになる を含むブックマーク はてなブックマーク - KMRCLを眺める LIST-TO-DELIMITED-STRING (94)  - わだばLisperになる

今回はKMRCLのstrings.lispから、LIST-TO-DELIMITED-STRINGです。

前回は、splitでしたが、今回は、PerlやRubyでいうjoinのようです。

(defun list-to-delimited-string (list &optional (separator " "))
  (format nil (concatenate 'string "~{~A~^" (string separator) "~}") list))

という定義

動作は、

(KL:LIST-TO-DELIMITED-STRING '("foo" "bar" "baz") #\,)
;⇒ "foo,bar,baz"

(KL:LIST-TO-DELIMITED-STRING '("foo" "bar" "baz") ",")
;⇒ "foo,bar,baz"

(KL:LIST-TO-DELIMITED-STRING '("foo" "bar" "baz" #\.))
;⇒ "foo bar baz ."

(KL:LIST-TO-DELIMITED-STRING '("foo" "bar" "baz" #\A #\.))
;⇒ "foo bar baz ."

という風になっています。

デリミタは文字でも文字列でもどちらでも良いようですね。

ゲスト



トラックバック - http://cadr.g.hatena.ne.jp/g000001/20100221