Alternatifnya cat()adalah writeLines():
> 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.
writelinesdan 'cat` sepertinya tidak menulis ke variabel. Saya mencoba membuat variabel string dengan banyak baris.stringvar <- writeLines("line1\nline2")tidak menetapkan.stringvarkembali masih nol Ada alternatif lain?