Article View: fj.lang.lisp
Article #158Re: MS-DOS 動作可能な LISP を探しています。
From: Nobita
Date: Tue, 31 Mar 1998 00:00
Date: Tue, 31 Mar 1998 00:00
29 lines
1644 bytes
1644 bytes
| (setq xx '( A1 A2 A3 A4 .....))
|
| でxxのリスト(?)のA1/A2/A3......の値をA1をB1/A2をB2/A3をB3に置き換えを行う
| 場合についてどの様に行えば良いのでしょうか?(イメージは通常の配列処理です)
|
| A1については
|
| (setq xx (cons 'B1 '(cdr xx)) )
|
| で、xxのリストは(B1 A2 A3 A4
| ....)となるのは、理解できたのですが、関数として
| A2または、A3....の置き換えを実現する場合、どの様に考えれば良いのか悩んで
| います。 お手数ですが、ヒントを教えて頂けましたら幸いです。
まず、一つの要素を置換する関数を考えましょう。
そのような関数ができれば、あとはその関数をすべての要素に施せばいいのです。
すべての要素に同じ関数を施すには、よく下のような関数が用いられます。
(非破壊的な場合)
(defun foo (x)
(cond ((null x) nil)
(t (cons (bar (car x)) (foo (cdr x))))))
ヒントになりましたでしょうか?
高橋毅弘 <E-mail:takahash@hitachi-ms.co.jp>
Technical Details
Message-ID:
<6fpoou$k89$1@maingate.hitachi-ms.co.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 1421c0,6445cce8859c3a2c,start X-Google-Attributes: gid1421c0,public From: "Nobita" <takahash@hitachi-ms.co.jp> Subject: Re: MS-DOS 動作可能な LISP を探しています。 Date: 1998/03/31 Message-ID: <6fpoou$k89$1@maingate.hitachi-ms.co.jp> X-Deja-AN: 339355855 Content-Transfer-Encoding: 7bit Mime-Version: 1.0 Content-Type: text/plain; charset="iso-2022-jp" X-MimeOLE: Produced By Microsoft MimeOLE V4.71.1712.3 Organization: Hitachi Microsoftware Systems, Inc. Newsgroups: fj.lang.lisp