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

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

823 :デフォルトの名無しさん:2014/05/23(金) 10:05:01.75 ID:fRyU8CgY
>>820
この例ではカウンタを引数渡しでいいと思う。
C言語でいう静的局所変数に相当する機能としてはクロージャがある。
ttp://www.geocities.jp/m_hiroi/xyzzy_lisp/abclisp11.html
クロージャを使ってmember*を実装しようとするとこうなる。

 (let ((cnt 1))
  (defun member* (x lst)
  (cond ((null lst)
  (setq cnt 1)
  0)
  ((eq (car lst) x)
  (prog1 cnt
  (setq cnt 1)))
  (t (setq cnt (1+ cnt))
  (member* x (cdr lst))))))

199 KB
新着レスの表示

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


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