System.IO.nativeNewline
ist nicht privat - Sie können es zugreifen können, um herauszufinden, was GHC die native „Newline“ hält auf der aktuellen Plattform zu sein.
Beachten Sie, dass der Typ dieser Variablen, System.IO.Newline
, keine Show
Instanz wie von GHC 6.12.3 hat. So können Sie nicht einfach seinen Wert drucken. Überprüfen Sie stattdessen, ob es gleich zu System.IO.LF
oder System.IO.CRLF
ist.
Doch wie Simon wies darauf hin, sollten Sie nicht brauchen, um über die native Neuzeilensequenz zu wissen, mit normalen Verwendung der textorientierten IO-Funktionen in GHC.
Diese Variable ist zusammen mit dem Rest der neuen Unicode-fähigen -Funktionen des IO-Systems noch nicht Teil des Haskell-Standards. Es war nicht in der Haskell 2010 report enthalten. Da es jedoch in GHC bereits implementiert ist, und es gibt einen ziemlich weit verbreiteten Konsens, dass es wichtig und nützlich ist, erwarten Sie, dass es in einer der kommenden jährlichen Überarbeitungen des Standards enthalten ist.
Also wenn ich eine Datei im Speicher (wie Data.Text) generieren würde, sollte ich auf jeden Fall '\ n' verwenden, auch unter Windows? – LennyStackOverflow
Ja. Die Übersetzung in '\ r \ n' erfolgt, wenn Sie den Text in die Datei schreiben. –
Ok, danke Simon. – LennyStackOverflow