"تتكشف" لثغة المشتركة؟
-
06-07-2019 - |
سؤال
وتعلمت قدرا كبيرا من مخطط من SICP لكن أنا أكثر اهتماما في ثغة المشتركة الآن. وأنا أعلم fold
ثغة المشتركة هو reduce
، بحجج خاصة للطي اليمين أو اليسار، ولكن ما هو ما يعادل unfold
؟ لم يساعد غوغلينغ من ذلك بكثير. في الواقع لدي انطباع ليس هناك تتكشف ؟؟؟
المحلول
لقد (loop ... collect ...)
اللثغة المشتركة. قارن
(loop for x from 1 to 10 collect (* x x))
ومع ه التكافؤ باستخدام unfold
:
(unfold (lambda (x) (> x 10)) (lambda (x) (* x x)) (lambda (x) (+ x 1)) 1)
في عام، (unfold p f g seed)
هو أساسا
(loop for x = seed then (g x) until (p x) collect (f x))
وتحرير: إصلاح الخطأ المطبعي
نصائح أخرى
ووhyperspec ثغة شائعة لا يعرف وظيفة unfold
، ولكن من المؤكد أننا نستطيع الكتابة الخاصة بك. في تعريف مخطط يترجم رمز تقريبا للرمز.
لا تنتمي إلى StackOverflow