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 |

2007-01-31

L-99 (14)

| 23:23 | L-99 (14) - わだばLisperになる を含むブックマーク はてなブックマーク - L-99 (14) - わだばLisperになる

L-99 14問目に挑戦 - L-99:Ninety-Nine Lisp Problems

P14

解答
;;; Maclisp - Common Lisp 
(defun dupli (list)
  (do ((l list (cdr l))
       (retlist '() (let ((item (car l)))
                      `(,@retlist ,item ,item))))
      ((null l) retlist)))

;;; Scheme
(define dupli 
  (lambda (ls)
    (let loop ((l ls) (r '()))
      (if (null? l)
	  r
	  (let ((item (car l)))
	    (loop (cdr l) `(,@r ,item ,item)))))))

何となく今回はTwenexのMaclisp上のemacs 165&ledit環境で

問題に挑戦してみた。といっても特にMaclisp特有のと

ころはなし。

Maclispにはendpはないみたいなので、nullを使用した

くらい。

ゲスト



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