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 |

2009-10-19

悲しいけど、これで間にあっちゃったのよね…

| 22:36 | 悲しいけど、これで間にあっちゃったのよね… - わだばLisperになる を含むブックマーク はてなブックマーク - 悲しいけど、これで間にあっちゃったのよね… - わだばLisperになる

なんらかの入力を二つに分けて文字列のリストにしたいという場面に遭遇したのですが、汚ないなーと思いながらも

; "0123456789...." ⇒
(LET (ANS)
  (PUSH
   (WITH-OUTPUT-TO-STRING (A-OUT)
     (PUSH
      (WITH-OUTPUT-TO-STRING (B-OUT)
        ...
        (PRINC I (IF PRED A-OUT B-OUT)))
        ...
      ANS))
   ANS))
;⇒ ("02468..." "13579...")

のように書いて間に合わせてしまいまいした。

(WITH-OUTPUT-TO-STRINGS (A-OUT B-OUT)
  ...
  (PRINC I (IF (EVENP I) A-OUT B-OUT))
  ...
  ))

みたいなマクロを定義するのも、そんなに遭遇するパターンでもないし面倒臭かったんですが、こういうのをすっきり書ける方法ありますでしょうか('-'*)

SERIESかな?

ゲスト



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