2013-03-15 20 views
5

Jest to możliwe, aby mieć nową linię kiedy piszesz „Display” jaknowa linia na schemacie (Racket)

(display "exa \n mple") 

Ale problemem jest to, że nie ma żadnego kodu, aby mieć nową linię strun? Jak:

"exa \n mple" 

Oczekiwany ->

exa 
mple 

Co mam:

exa \n mple 

nie mogłem znaleźć żadnych informacji w rakietę-dokumentacji lub gdziekolwiek indziej.

+1

Pytanie nie jest jasne, czego potrzebujesz ponownie? –

+0

hmmm to działa w tłumaczu rakiet na moim terminalu Mac. Czy odnosisz się do tłumacza doktora Racketa lub tłumacza rakietowego? –

+0

@JasonYeo, tłumacz dr rak tłumacza z dialektem rakietowym – Asqan

Odpowiedz

6

Jeśli potrzebujesz sposób dodawania nowego wiersza między strunami, to będzie działać:

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

(display s) 
=> exa 
    mple 

W powyższym fragmencie, używam string-append na sklejaniu dwóch ciągów z nową linią w środku. Wynikowy ciąg s będzie zawierać znak nowej linii pośredniej, gdy go użyjesz, na przykład wyświetlając go.

Oczywiście pojawi się ona jako "exa \n mple", nie można oczekiwać, że łańcuch przeskoczyć z jednej linii na drugą chyba ją wyświetlić, wydrukować go, pokaż go, zapisz go itp

+0

Tak, ale kiedy pracujesz z ciągami, "\ n" już nie działa – Asqan

+0

Co masz na myśli "to już nie działa"? to działa poprawnie, zauważ, że używam _two_ backslashes do ucieczki –

+0

Tak więc masz na myśli: Jeśli wpiszesz ten kod: (string-append "bra", "\\ n" "va"), bierzesz "va" pod linia "stanika"? Używam schematu z rakietą dialektu, a "\\ n" nie rozpoczyna nowej linii – Asqan

4

Coś na przykład:

(display "line\nhola") 

powinien to zrobić.

Nie mam pojęcia, dlaczego potrzebujesz czegoś, co zostało zamieszczone powyżej.