2009-05-19 7 views
5

में नई लाइन मैं कुछ ऐसा करना चाहता हूं: ट्रांसक्रिप्ट शो: '\ n'। कैसे? निम्नलिखितस्क्वाक

उत्तर

9

उपयोग:

Transcript cr 

आप एक झरना के माध्यम से एक मूल्य के बाद इसका इस्तेमाल कर सकते हैं:

Transcript show: 123; cr 
4

चरित्र ही Character cr के रूप में पहुँचा जा सकता है। तो, आप भी ऐसा कर सकता है:

Transcript show: 'Bla! , Character cr asString. 

लेकिन निश्चित रूप से,

Transcript show: 'Bla!' ; cr. 

तरह से और अधिक सुरुचिपूर्ण है।

+0

कैरेक्टर सीआर के रूप में सिंबल *, और 'ब्लै!' <---- इसे बंद करें – Iancovici

4

मेरी (लंबी) अनुभव से, लापता चरित्र पलायन कुछ चीजें हैं जो स्मालटाक में याद कर रहे हैं में से एक हैं। स्ट्रीमिंग के लिए, सीआर, टैब इत्यादि का उपयोग कर समाधान ठीक है।

हालांकि, यदि आपको किसी स्ट्रिंग में किसी विशेष नियंत्रण वर्ण की आवश्यकता है, तो यह बदसूरत और पढ़ने के लिए कठिन हो सकता है ("स्ट्रीम सामग्री:" या "withCRs" का उपयोग करके एक नयालाइन जोड़ने के लिए)। वैकल्पिक रूप से, आप एक (गैर-मानक) स्ट्रिंग विस्तार तंत्र का उपयोग करना चाह सकते हैं। उदाहरण के लिए, VisualWorks या स्मालटाक/एक्स में, आप लिख सकते हैं (अगर मैं सही ढंग से याद है):

'someString with newline<n>and<t>tabs' expandMacros 

या अन्य वस्तु की printStrings की printf की तरह टुकड़ा करने की क्रिया के साथ:

'anotherString<n><t>with newlines<n>and<t>tabs and<p>' expandMacrosWith:(Float pi) 

मुझे लगता है, वहाँ स्क्वाक और वी'एज में भी कुछ समान है।

लेकिन, ध्यान रखें: इन विस्तार निष्पादन समय पर किया जाता है। तो आप कई तारों पर भारी उपयोग करते समय एक जुर्माना सामना कर सकते हैं।

+0

पहला फ़ारो में काम करता है, दूसरा एक त्रुटि का कारण बनता है, लेकिन यह एक बग हो सकता है; //www.cincomsmalltalk: अभी भी जांच कर रही ... –

+0

दंड अगर आप अपने इरादे [जब आप वापस आ] एक बार देखें (http [expandMacros 'न्यू लाइन और टैब के साथ someString'] के साथ केवल एक बार निष्पादित करने के लिए व्यक्त कम किया जा सकता। com/userblogs/ट्रैविस/blogView? showComments = सच और printTitle = When_You_Come_Back और प्रवेश = 3346567529) –

संबंधित मुद्दे