2013-03-15 2 views
5

Это можно иметь новую строку, когда вы пишете с «дисплей», какNewline на схеме (ракетка)

(display "exa \n mple") 

Но проблема в том, что не существует какой-либо код, чтобы иметь новую строку в строках? Как:

"exa \n mple" 

Ожидаемое ->

exa 
mple 

Что у меня есть:

exa \n mple 

я не мог найти какую-либо информацию в ракетке-документации или в любом другом месте.

+1

Вопрос не ясен, что вам нужно снова? –

+0

Хммм это работает в интерпретаторе ракетки на моем терминале Mac. Вы имеете в виду переводчика доктора Ракетта или переводчика ракетки? –

+0

@JasonYeo, dr racket interpreter с ракетным диалектом – Asqan

ответ

6

Если вам нужен способ, чтобы добавить новую строку между строками, то это будет работать:

(define s (string-append "exa " "\n" " mple")) 
s 
=> "exa \n mple" 

(display s) 
=> exa 
    mple 

В приведенном выше фрагменте кода, я использую string-append для слипания двух строк с новой строки в середине. Полученная строка s будет иметь новую линию между ними, когда вы ее используете, например, путем ее отображения.

Очевидно, это будет отображаться как "exa \n mple", вы не можете ожидать, что строка для перехода с одной линии на другую , если не отображать его, распечатать его, показать его, писать и т.д.

+0

Да, но когда вы работаете со строками, «\ n» больше не работает – Asqan

+0

Что значит «он больше не работает»? он работает правильно, обратите внимание, что я использую _two_ обратную косую черту для экранирования –

+0

Таким образом, вы имеете в виду: если вы введете этот код: (string-append "bra" "\\ n" "va"), вы берете "va" под линия «бюстгальтер»? Я использую схему с ракеткой диалекта и «\\ n» не запускает новую строку – Asqan

4

что-то например:

(display "line\nhola") 

должен это сделать.

Не знаю, зачем вам нужно то, что было опубликовано выше.