2

スキームについて質問があります。私は言語にかなり慣れていないので、質問はかなり一般的です。

再帰関数を定義せずに、Map (またはそのようなもの) を使用して 2 つのパラメーターのリストを関数にフィードし、出力から単一の新しいリストを生成することは可能ですか?

たとえば、私が持っていたとします:

(define lst1 (list 1 2 3 4 5))
(define lst2 (list 2 4 6 8 10))

そして、何らかの方法で + 関数をマップし、出力が新しいリスト lst3 になるように、各リストをパラメーターとして指定します。

>lst3
(3 6 9 12 15)

質問をもう少し簡潔に述べると、両方のパラメーターがリストである場合、2 項関数を最も効率的にマップするにはどうすればよいでしょうか?

助けてくれてありがとう!

4

1 に答える 1

7
(map + lst1 lst2)

MAP は任意の数のリストを取ることができます。

例:

(map + lst1 lst2 lst1) => (4 8 12 16 20)
于 2011-11-02T06:10:20.207 に答える