आर में प्रिंट () के साथ नई छपाई


111

मैं आर में एक बहुस्तरीय संदेश मुद्रित करने का प्रयास कर रहा हूं। उदाहरण के लिए,

print("File not supplied.\nUsage: ./program F=filename",quote=0)

मुझे आउटपुट मिलता है

File not supplied.\nUsage: ./program F=filename

के बजाय वांछित

File not supplied.
Usage: ./program F=filename

जवाबों:


130

एक विकल्प cat()है writeLines():

> writeLines("File not supplied.\nUsage: ./program F=filename")
File not supplied.
Usage: ./program F=filename
>

एक लाभ यह है कि आपको अपने संदेश के बाद एक नई पंक्ति प्राप्त "\n"करने के cat()लिए पारित स्ट्रिंग को संलग्न करने के लिए याद करने की आवश्यकता नहीं है । उदाहरण के लिए समान cat()आउटपुट पर उपरोक्त की तुलना करें :

> cat("File not supplied.\nUsage: ./program F=filename")
File not supplied.
Usage: ./program F=filename>

तथा

> cat("File not supplied.\nUsage: ./program F=filename","\n")
File not supplied.
Usage: ./program F=filename
>

कारण print()वह नहीं है जो आप चाहते हैं कि print()आप आर स्तर से ऑब्जेक्ट का एक संस्करण दिखाते हैं - इस मामले में यह एक चरित्र स्ट्रिंग है। आपको अन्य कार्यों का उपयोग करने cat()और writeLines()स्ट्रिंग प्रदर्शित करने की आवश्यकता है। मैं कहता हूं "एक संस्करण" क्योंकि मुद्रित संख्या विज्ञान में परिशुद्धता कम हो सकती है, और मुद्रित वस्तु को अतिरिक्त जानकारी के साथ संवर्धित किया जा सकता है, उदाहरण के लिए।


दोनों writelinesऔर 'cat` एक वैरिएबल को लिखने के लिए प्रतीत नहीं होता है। मैं कई लाइनों के साथ एक स्ट्रिंग चर बनाने की कोशिश कर रहा था। stringvar <- writeLines("line1\nline2")असाइन नहीं करता है। stringvar रिटर्न अभी भी कोई विकल्प नहीं है?
sjd

25

तुम यह केर सकते हो:

cat("File not supplied.\nUsage: ./program F=filename\n")

सूचना है कि catएक है returnका मूल्य NULL


3
लेकिन अनुगामी नई लाइन मत भूलना।
हैडले 20

+1 @ शेन को कुछ और मदद करने के लिए मुझे बिल्ली ("\ n") की आवश्यकता थी! धन्यवाद
Alos

7

राइटलाइन का उपयोग करने से आप "\ n" न्यूलाइन वर्ण के साथ विचरण कर सकते हैं c()। जैसे की:

writeLines(c("File not supplied.","Usage: ./program F=filename",[additional text for third line]))

यदि आप संयुक्त फिक्स्ड और वैरिएबल इनपुट जैसे कि [तीसरी पंक्ति के लिए अतिरिक्त पाठ] ऊपर के साथ एक बहुस्तरीय संदेश लिखने की योजना बनाते हैं तो यह मददगार है।


-1

तुम भी के संयोजन का उपयोग कर सकते हैं catऔरpaste0

cat(paste0("File not supplied.\n", "Usage: ./program F=filename"))

प्रिंटआउट में वेरिएबल्स को शामिल करते समय मुझे यह अधिक उपयोगी लगता है। उदाहरण के लिए:

file <- "myfile.txt"
cat(paste0("File not supplied.\n", "Usage: ./program F=", file))
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.