🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.lisp
Article #158

Re: MS-DOS 動作可能な LISP を探しています。

#158
From: Nobita
Date: Tue, 31 Mar 1998 00:00
29 lines
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-mail

Show 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