2017-09-26 3 views
1

저는 Scheme을 처음 사용하며 현재 Simply Scheme 교과서를 사용하고 있습니다. 나는 몇 가지 절차 실험되었고, 나는 (아래) 이러한 기능을 수행 할 때, 그것은 '음성'방식으로 단어를 인쇄 것으로 나타났습니다 :Scheme에서 글자를 하나씩 어떻게 표시하나요?

(define (display-all sep . vs) 
    (for-each display (insert-between sep vs))) 

(define (insert-between v xs) 
    (cond ((null? xs) xs) 
     ((null? (cdr xs)) xs) 
     (else (cons (car xs) 
        (cons v (insert-between v (cdr xs))))))) 

가 (코드 How to 'display' multiple parameters in R5RS Scheme에서 사용)

다음

지휘 : 누군가가 그들을 입력 된 것처럼

(display-all "" 'w 'o 'w " " 't 'h 'i 's " " 'i 's " " 'c 'o 'o 'l)

글자 하나씩 인쇄됩니다. 문자로 편지를 입력하는 대신,이 말을 입력하기가 더 쉬워 지도록하는 방법이 있는지 궁금합니다. 나는 이런 식으로 할 생각이었습니다 :

(define (speak . wds) 
    (...)) 

여기에서 wds은 문자열입니다. 위의 예에서는 다음과 같이 표시합니다. (speak "wow this is cool")"wow this is cool"을 반환하지만 각 문자는 하나씩 표시됩니다.

도움을 주셔서 감사합니다.

답변

1

문자열을 입력으로 전달하는 것은 어떻습니까? 이 경우 가변 인수를 사용할 필요가 없습니다. 다음을 시도해주세요.