(list 'red 'blue 'green 'yellow)
및 (list 'black 'red 'orange 'green)
이라고 가정하면 두 개의 동일한 요소가 있으므로 2를 생성해야합니다. 나는 다음과 같이 똑같은 장소에서 같은 요소를 찾는 법을 안다.두 개의 목록에서 같은 요소를 라켓으로 찾으십시오.
(define (helper l1 l2)
(cond
[(equal? l1) empty]
[(equal? l2) empty]
[(equal? (first l1) (first l2)) true]
[else (rest l1) (rest l2)]))
도움주세요. :)
이 답변이 잘못 두 목록에서 같은 요소를 찾기 위해이 내 코드, 테스트는 : 오류가 발생합니다. 실수를 수정하는 올바른 구현에 대한 내 대답을 참조하십시오. –
@ ÓscarLópez 여기에서 잘 작동합니다. 가장 최근의 라켓 버전을 사용하고 있습니까? 목록 [집합입니다] (http://docs.racket-lang.org/reference/sets.html) BTW. – kayleefrye
흠, 실제로 이것은 버전 관련 문제인 것 같습니다. v5.3.6을 사용하고있었습니다. 이전 릴리스의 Racket에서는 입력리스트를'set-intersect'를 호출하기 전에 명시 적으로 세트로 변환해야했습니다. 아 글쎄, 적어도 내 솔루션은 하위 호환성이 있다고 말할 수 있습니다 : P –