Lisp@UNIX版 (585レス)
Lisp@UNIX版 http://mevius.5ch.net/test/read.cgi/unix/1019926525/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
331: 名無しさん@お腹いっぱい。 [sage] 03/07/02 21:04 なんか、大分さがってるけど質問してみます。 ↓この test って関数を append を使わないで再帰で書くにはどうしたらいいですか? (defun test (list1 list2) (let (list) (while list1 (let ((list3 list2)) (while list3 (setq list (cons (concat (car list1) (car list3)) list)) (setq list3 (cdr list3)))) (setq list1 (cdr list1))) (nreverse list))) append を使えば↓な感じでいけるんですが。。。 (defun test1 (list1 list2) (if list1 (append (test2 (car list1) list2) (test1 (cdr list1) list2)))) (defun test2 (str list) (if list (cons (concat str (car list)) (test2 str (cdr list))))) lisp 初心者に愛の手を。。。 http://mevius.5ch.net/test/read.cgi/unix/1019926525/331
333: 名無しさん@お腹いっぱい。 [sage] 03/07/03 10:56 >>331 見た感じ elisp だな. (defun my-test2 (lst1 lst2) (my-test2-aux lst1 lst2 nil)) (defun my-test2-aux (lst1 lst2 acc) (if (null lst1) (nreverse acc) (my-test2-aux (cdr lst1) lst2 (my-test2-aux2 (car lst1) lst2 acc)))) (defun my-test2-aux2 (e lst acc) (if (null lst) acc (my-test2-aux2 e (cdr lst) (cons (concat e (car lst)) acc)))) ↓どう考えてもこっちのが効率的だとおもうが,なんで再帰でやりたいんだ?? (defun my-test3 (lst1 lst2) (let (acc) (dolist (e1 lst1 (nreverse acc)) (dolist (e2 lst2) (push (concat e1 e2) acc))))) http://mevius.5ch.net/test/read.cgi/unix/1019926525/333
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.031s