Как я могу использовать конкатенацию в схеме без пробелов - PullRequest
1 голос
/ 21 декабря 2011

У меня проблема с конкатенацией и пробелами в схеме. Результат выполнения команды:

(append '(%procedure:) (list '+) '(%))**     //with spaces

это:

%procedure: + %      //without spaces

Как сделать такой же результат без пробелов между списками, поэтому результат будет:

%procedure:+%

Ответы [ 2 ]

8 голосов
/ 22 декабря 2011

Вы пытаетесь использовать символы, которые не совпадают со строками в Схеме.Если вы хотите контролировать печатный вывод, вы должны использовать строки, которые являются массивами символов.

> (append '(hello) '(world))
(hello world)
> (string-append "hello " "world")
"hello world"
> (symbol->string 'hello)
"hello"
> (apply string-append (map symbol->string '(a b c d e f g)))
"abcdefg"
3 голосов
/ 21 декабря 2011

append возвращает список, и оценщик печатает результат как (abc), где вставляются пробелы, чтобы сделать представление ясным.Если вам нужно %procedure:+%, вы можете создать новый символ или использовать вместо символов строки.

...