2015-09-28 5 views
1

Мне интересно, как объединить списки, чтобы сделать их одним большим списком. Например Допустим, мы дали-структуру, (define-struct fruits (type number)) В основном это даноDrRacket Слияние списков структур

(list 
    (list (make-fruits 'Apple 4) (make-fruits 'Orange 3) (make-fruits 'Pears 5)) 
    (list (make-fruits 'Peach 4)) 
    (list (make-fruits 'Kiwi 5) (make-fruits 'Banana 2))) 

Как объединить все эти структуры списка в один большой список? Любой способ использования локального, map, foldr, фильтра и не использовать рекурсию.

+0

Добро пожаловать на SO. Пожалуйста, покажите нам, что вы пробовали. – Foon

ответ

0
#lang racket 
(define-struct fruits (type number) #:transparent) 

(apply append 
     (list 
     (list (make-fruits 'Apple 4) (make-fruits 'Orange 3) (make-fruits 'Pears 5)) 
     (list (make-fruits 'Peach 4)) 
     (list (make-fruits 'Kiwi 5) (make-fruits 'Banana 2)))) 

Результат:

(list (fruits 'Apple 4) (fruits 'Orange 3) (fruits 'Pears 5) (fruits 'Peach 4) (fruits 'Kiwi 5) (fruits 'Banana 2)) 
Смежные вопросы