Строки это последовательность char'ов (не путать с символами, которые являются простым типом данных, и могут иметь имя, сотоящее из последовательности char'ов). Указать интерпретатору на строку можно взяв последовательность в двойные кавычки:
"Hello, World!" => "Hello, World!"
Процедура string принимаем несколько сhar'ов и возвращает готовую строку:
(string #\h #\e #\l #\l #\o) => "hello"
Создадим глобальную переменную greeting.
(define greeting "Hello; Hello!")
Следует заметить, что точка с запятой внутри строки не вызывает комментирования.
Каждый символ (char) в строке может быть изменен по отдельности. Процедура string-ref принимает строку и смещение, и возвращает символ, который находится по этому смещению:
(string-ref greeting 0) => #\H
Новые строки могут быть созданы с помощью добавления других строк:
(string-append "E " "Pluribus " "Unum") => "E Pluribus Unum"
Вы можете создать строку определенной длины, а заполнить необходимыми символами (сhar) позже.
(define a-3-char-long-string (make-string 3))
Проверочная функция для строк - string?
Строки, полученные с помощью использования string, make-string, и string-append, можно изменять. Процедура string-set! заменяет символы по заданному смещению:
(define hello (string #\H #\e #\l #\l #\o)) hello => "Hello" (string-set! hello 1 #\a) hello => "Hallo"