Racket에서 문자열의 모든 문자를 소문자로 변환 할 수있는 방법이 있습니까? 당신을 내가 생각할 수있는소문자 라켓의 전체 문자열
유일한 방법은 숯불와 downcase을 돌고 있지만, 나는 내가 실제로
Racket에서 문자열의 모든 문자를 소문자로 변환 할 수있는 방법이 있습니까? 당신을 내가 생각할 수있는소문자 라켓의 전체 문자열
유일한 방법은 숯불와 downcase을 돌고 있지만, 나는 내가 실제로
일부 기능을 사용할 수 없습니다 초보자의 언어를 사용하고 문자열
작동하지 않습니다 그래서 여기를 해결하기위한 일반적인 생각이다,
(string-downcase "ABCDE")
=> "abcde"
하지만 초보자의 언어로 작업 - 내가 당신에게 몇 가지 힌트를 줄 것이다, 당신이 해결하려고하면 그것은 더 나은 : '이것에 대한 string-downcase
절차를 사용 거라고 너 자신에 의한 문제. 먼저, 두 부분으로 문제를 분할하자 : 문자 목록에 문자열로 변환 한 절차, 실제 변환을 수행하고 마지막으로 문자열로 다시 변환 목록을 켤 수있는 헬퍼 프로 시저를 호출 :
(define (lowercase str)
(<???> ; convert the list of chars into a string
(convert ; call the helper procedure
(<???> str)))) ; convert the string into a list of chars
convert
절차는 무거운을 수행하고 문자 목록의 각 문자를 소문자로 변환하는 도우미입니다 : 링크를 클릭,
(define (convert strlst)
(if <???> ; if the list of chars is empty
<???> ; return the empty list
(cons ; else `cons`
(<???> <???>) ; convert to lowercase the first char in list
(convert <???>)))) ; advance recursion over list
솔루션의 핵심 부품 strings 및 characters를 조작하기위한 절차입니다 및 문서를 연구하십시오.
감사합니다. Alastair Pitts! – user2113651
[documentation] (http://docs.racket-lang.org/reference/strings.html?q=string#%28tech._string%29)에서 : '문자열은 다음과 같은 고정 길이 배열입니다. 문자입니다. 그래서 실제 문제는 배열 작업 방법입니다. –