2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

【入門】Common Lisp その10【質問よろず】

821 :デフォルトの名無しさん:2014/05/23(金) 08:58:33.93 ID:UMGtPnEJ
リスプ勉強始めました。まだリスプらしい発想ができず知識もないのですが、C言語でいう静的局所変数の実現方がわからず次のようにしてみました。
もっと、まともな方法有るでしょうか?

;;;隠れ引数cntを利用して静的局所変数を実現する
;;;
;;;目的のatomが与えられたlistの何番目にあるか?
;;;なければゼロを返す
;;;(member* 'c '(a b c d )) -> 3
;;;(member* 'x '(a b c d )) -> 0

(defun member* (x lst &rest cnt)
(if (null cnt) (setq cnt '(1)))
(cond
((null lst) 0)
((eq (car lst) x)
(car cnt))
(t
(member* x (cdr lst) (+ (car cnt) 1)))))

199 KB
新着レスの表示

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)