2017-04-05 6 views
-3

구문과 숫자 (n)를 취하여이 구문이 n 번 반복 된 목록을 반환하는 프로그램을 작성하려고합니다. 는 내가 지금까지 가지고하는 것은 다음과 같다,하지만 분명히 두 번 밖에 문구를 반복 : 원하는 입력/출력의라켓으로 특정 횟수만큼 중복하기

(define (duplicate num phrase) 
    (list phrase phrase)) 

예 : '생산 (안녕하세요 3 중복)'(안녕 안녕 안녕). 이 일을 할 수있는 방법이 있습니까

어떤 도움을 주셔서 감사합니다 !!

> (make-list 3 'Hello) 
'(Hello Hello Hello) 

하지만 재귀 함수를 요구하기 때문에, 당신은 표준 방법으로 하나 개의 출력을 쓸 수 있습니다 :

답변

0

당신이 원하는 기능은 정확히 make-list입니다.

(define (duplicate num phrase) 
    (cond 
    [(zero? num) empty] 
    [else (cons phrase (duplicate (sub1 num) phrase))])) 

당신은 또한에 대한 루프, 그래서 여기에 for/list을 사용하는 버전의에이 태그.

(define (duplicate num phrase) 
    (for/list ([num num]) 
    phrase)) 
+0

모든 다른 버전을 이용해 주셔서 감사합니다. 그렇게 도움이된다 !!! – Vic