2016-04-10 10 views
0

スキームでは、リストの一部から各要素を追加するリストを反復しようとしています。リストスキームで要素を追加する

たとえば、リストに((1 2 5)(1 5)(1)(2)(5)())がある場合は、最初の部分(1 2 5)、次に2番目の部分(1 2)などを使用して、各要素が特定の数になるかどうかを確認します。

これは理にかなっていると思いますが、これを説明するために最善の努力をしました。

誰かがこの問題を解決するのを手伝ってくれたら、本当にありがとう。

答えて

0

あなたがapplyを使用することができます(小)リストの番号を追加するには:

サブリストのリストにこれを適用するために

> (+ 1 2 3) 
6 

と同じである

> (apply + '(1 2 3)) 
6 

、使用map

(define (f lst) 
    (map (lambda (sublst) (apply + sublst)) 
     lst)) 

> (f '((1 2 5) (1 2) (1 5) (1) (2 5) (2) (5)())) 
'(8 3 6 1 7 2 5 0) 

大規模なリストについては、あなたはを交換したい場合がありますによってfoldlまたは同等物。

+0

ありがとうございます!これはまさに私が探していたものです。 – Rosie