Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
について学び始めていlambdaます。foldrまたはfoldlで使用できる方法はありますlambdaか?誰かが私に簡単な例を教えてもらえますか? ありがとう
lambda
foldr
foldl
たとえば、3 と 4 の 2 乗を加算するには、次のようにします。
(foldl (lambda (val res) (+ (sqr val) res)) 0 '(3 4))
初期値は 0 です。リスト '(3 4) の各値に対して、値が にバインドされval、前の結果が にバインドされた状態で関数が呼び出されresます。
val
res
これは、
(define (fun val res) (+ (sqr val) res)) (foldl fun 0 '(3 4))
ただし、最初の例では関数は無名です。