System.IO.nativeNewline
est pas privé - vous pouvez y accéder pour savoir ce que GHC considère la « nouvelle ligne » native d'être sur la plate-forme actuelle.
Notez que le type de cette variable, System.IO.Newline
, n'a pas d'instance Show
à partir de GHC 6.12.3. Donc, vous ne pouvez pas facilement imprimer sa valeur. Au lieu de cela, vérifiez pour voir si elle est égale à System.IO.LF
ou System.IO.CRLF
.
Cependant, comme Simon a souligné, vous ne devriez pas avoir de connaître la séquence native avec retour à la ligne d'une utilisation normale des fonctions IO orientées texte dans GHC.
Cette variable, ainsi que le reste des nouvelles fonctionnalités prenant en charge Unicode, ne font pas encore partie de la norme Haskell. Il n'était pas inclus dans le Haskell 2010 report. Cependant, comme il est déjà implémenté dans GHC, et il y a un consensus assez répandu qu'il est important et utile, attendez-vous à être inclus dans l'une des révisions annuelles à venir de la norme .
Donc, si je devais générer un fichier en mémoire (comme par exemple Data.Text), je devrais utiliser '\ n' dans tous les cas, même sous Windows? – LennyStackOverflow
Oui. La traduction en '\ r \ n' aura lieu quand vous écrivez le texte dans le fichier. –
Ok, merci Simon. – LennyStackOverflow