> writeLines("File not supplied.\nUsage: ./program F=filename")
File not supplied.
Usage: ./program F=filename
>
Keuntungannya adalah Anda tidak perlu mengingat untuk menambahkan a "\n"ke string yang diteruskan cat()untuk mendapatkan baris baru setelah pesan Anda. Misalnya bandingkan hasil di atas dengan cat()keluaran yang sama :
> cat("File not supplied.\nUsage: ./program F=filename")
File not supplied.
Usage: ./program F=filename>
dan
> cat("File not supplied.\nUsage: ./program F=filename","\n")
File not supplied.
Usage: ./program F=filename
>
Alasan print()tidak melakukan apa yang Anda inginkan adalah karena print()menampilkan versi objek dari tingkat R - dalam hal ini adalah string karakter. Anda perlu menggunakan fungsi lain seperti cat()dan writeLines()untuk menampilkan string. Saya mengatakan "versi" karena presisi dapat dikurangi dalam numerik cetak, dan objek yang dicetak dapat ditambah dengan informasi tambahan, misalnya.
Keduanya writelinesdan 'cat` sepertinya tidak menulis ke variabel. Saya mencoba membuat variabel string dengan banyak baris. stringvar <- writeLines("line1\nline2")tidak menetapkan. stringvar kembali masih nol Ada alternatif lain?
sjd
25
Kamu bisa melakukan ini:
cat("File not supplied.\nUsage: ./program F=filename\n")
+1 @Shane Saya membutuhkan kucing ("\ n") untuk hal lain melihat ini membantu! Terima kasih
Alos
7
Menggunakan writeLines juga memungkinkan Anda untuk membuang karakter baris baru "\ n", dengan menggunakan c(). Seperti dalam:
writeLines(c("File not supplied.","Usage: ./program F=filename",[additional text for third line]))
Ini berguna jika Anda berencana menulis pesan multiline dengan masukan tetap dan variabel gabungan, seperti [teks tambahan untuk baris ketiga] di atas.
writelines
dan 'cat` sepertinya tidak menulis ke variabel. Saya mencoba membuat variabel string dengan banyak baris.stringvar <- writeLines("line1\nline2")
tidak menetapkan.stringvar
kembali masih nol Ada alternatif lain?Kamu bisa melakukan ini:
Perhatikan yang
cat
memilikireturn
nilaiNULL
.sumber
Menggunakan writeLines juga memungkinkan Anda untuk membuang karakter baris baru "\ n", dengan menggunakan
c()
. Seperti dalam:Ini berguna jika Anda berencana menulis pesan multiline dengan masukan tetap dan variabel gabungan, seperti [teks tambahan untuk baris ketiga] di atas.
sumber
Anda juga dapat menggunakan kombinasi
cat
danpaste0
Saya menemukan ini menjadi lebih berguna saat memasukkan variabel ke dalam cetakan. Sebagai contoh:
sumber