System.IO.nativeNewline
не является частным - вы можете получить доступ к этому , чтобы выяснить, что GHC считает родной «перевод строки», чтобы быть на текущей платформе.
Обратите внимание, что тип этой переменной, System.IO.Newline
, имеет , не имеет экземпляра Show
с GHC 6.12.3. Таким образом, вы не можете легко распечатать его значение. Вместо этого проверьте, равно ли оно по System.IO.LF
или System.IO.CRLF
.
Однако, как Саймон отметил, вы должны не нужно знать о нативной последовательности новой строки с нормальным использованием текста-ориентированных функций ввода-вывода в GHC.
Эта переменная вместе с остальными функциями Unicode системы ввода-вывода еще не является частью стандарта Haskell. Он не был включен в Haskell 2010 report. Однако, поскольку он уже реализован в GHC, и существует довольно широкое мнение о том, что это важно и полезно, ожидайте, что он будет включен в один из предстоящих ежегодных пересмотров стандарта.
Итак, если бы я сгенерировал файл в памяти (как, например, Data.Text), я должен использовать «\ n» в любом случае даже в Windows? – LennyStackOverflow
Да. Перевод в '\ r \ n' произойдет, когда вы напишете текст в файл. –
Хорошо, спасибо Саймон. – LennyStackOverflow