[racket] newlines in strings not the same in DrRacket and Racket
The issue is probably that the file is being saved with CRLF. When the
file is opened in DrRacket, DrRacket always treats newlines like that
as if there were the "\n" character. But when racket reads the file it
just puts whatever bytes are in the saved file into the string.
The best path forward: don't use actual newlines in literals (like
strings). Instead write things like:
(string-append "first line\n" "second-line\n")
Or use scribble's @ notation.
Robby
On Fri, Jun 20, 2014 at 5:20 PM, Alexander D. Knauth
<alexander at knauth.org> wrote:
> Or are you using different editors? Different editors might use different
> conventions for representing newlines.
>
> When the 32 bit one has the problem, what does it say?
>
> For example when I made the text file with DrRacket or TextEdit but ran it
> with racket (not DrRacket), it worked,
> but when I made the text file with Microsoft Word, it gave me this:
> $ racket newline-3.txt
> (format "~n") = "\n"
> "
> " = "\r"
> Ran 1 check.
> 0 checks passed.
> Actual value
> , the expected value.
> In newline-3.txt at line 7 column 0
>
> On Jun 20, 2014, at 5:14 PM, Jos Koot <jos.koot at gmail.com> wrote:
>
> Very strange.
> I did the same on my other computer and there it has the same problem as
> before.
> I use windows 7 on both systems one with 64 bit OS and one with 32 bit OS.
> The 64 bit version does well, the 32 bit windows 7 system has the problem.
> May be my preferences?
> Thanks, Jos
>
> -----Original Message-----
> From: Jos Koot [mailto:jos.koot at gmail.com]
> Sent: viernes, 20 de junio de 2014 23:03
> To: 'Alexander D. Knauth'
> Cc: 'users'; 'Jos Koot'
> Subject: RE: [racket] newlines in strings not the same in
> DrRacket and Racket
>
> Gives me
>
> (format "~n") = "\n"
> "
> " = "\n"
> The only test passed!
>
> both in DrRacket and Racket.
> Very surprising. Can you explain what happens here?
> I don't have a clue.
> Thanks,
> Jos
>
>
> ________________________________
>
> From: Alexander D. Knauth [mailto:alexander at knauth.org]
> Sent: viernes, 20 de junio de 2014 22:41
> To: Jos Koot
> Cc: users
> Subject: Re: [racket] newlines in strings not the same
> in DrRacket and Racket
>
>
> This doesn't exactly solve your problem, but what
> happens (for both cases) when you do this?:
> #lang racket
> (require test-engine/racket-tests)
> (display "(format \"~n\") = ") (format "~n")
> (display "\"") (newline)
> (display "\" = ") "
> "
> (check-expect (format "~n") "
> ")
> (test)
> (void (read-line)) ; wait until the user has read the results.
>
> On Jun 20, 2014, at 3:02 PM, Jos Koot
> <jos.koot at gmail.com> wrote:
>
>
> Running the following in DrRacket goes well.
>
> #lang racket
> (require test-engine/racket-tests)
> (check-expect (format "~n") "
> ")
> (test)
> (read-line) ; wait until the user has read the results.
>
> Displays: The only test passed!
>
> But running the same with Racket tells me the
> test fails.
> I have a solution for this by removing #\return
> from the strings to be
> compared.
>
> Question though: Can I solve this problem in a
> simpler way?
> May be I overlooked something in the docs?
>
> Best wishes, Jos
>
>
> ____________________
> Racket Users list:
> http://lists.racket-lang.org/users
>
>
>
>
>
>
>
> ____________________
> Racket Users list:
> http://lists.racket-lang.org/users
>