2015-11-23 17 views
6

In format!(..), print!(..), println!(..) ecc è abbastanza facile per inserire i valori in vari formati, ma i documenti mostrano alcun modo di aggiungere un ritorno a capo specifico sistema operativo (ad esempio '\n' in Unix/MacOS X, "\r\n" su Windows). Esiste un identificatore di questo tipo? Altrimenti, come si dovrebbero inserire i newline nelle loro stringhe/uscite formattate?Esiste una specifica di formato che emetterà una nuova riga specifica del sistema operativo?

risposta

10

Non ci credo.

Detto questo, con l'eccezione di Blocco note, quasi tutto su Windows ha imparato da tempo che \n è una nuova riga come \r\n. In effetti, l'unica altra volta in cui ho problemi di interruzione di riga è un software UNIX mal gestito che rifiuta di credere nell'esistenza delle newline \r\n.

In altre parole, se non si dispone di un motivo specifico per farlo, è sufficiente attenersi a \n.

Se fare hanno un motivo specifico, è probabilmente più semplice per definire una costante NL da qualche parte (non riuscivo a trovare uno nel stdlib):

#[cfg(windows)] pub const NL: &'static str = "\r\n"; 
#[cfg(not(windows))] pub const NL: &'static str = "\n";