Newline in Scheme (Racket)

Something like:

(display "line\nhola")

should do it.

No idea why you would need whatever was posted above.


For those that came here looking for how to do something similar to Java's println or Python's print that adds a newline at the end of the line, racket has a function called displayln that does just that. More complicated C-like format printing can be done in Racket with fprintf, where it looks like a '~n' gets interpreted as a newline.

Many of Racket's printing functions are documented here: https://docs.racket-lang.org/reference/Writing.html


If you need a way to add a newline between strings, then this will work:

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

(display s)
=> exa
    mple

In the above snippet, I'm using string-append for sticking together two strings with a newline in the middle. The resulting string s will have a newline in-between when you use it, for example by displaying it.

Obviously it will show up as "exa \n mple", you can't expect the string to jump from one line to the other unless you display it, print it, show it, write it, etc.