सिंगल और डबल उद्धृत स्ट्रिंग्स के बीच अंतर क्या है?


18

सिंगल और डबल उद्धृत स्ट्रिंग्स के बीच अंतर क्या है?

क्या एक स्ट्रिंग के अंदर एक वैरिएबल का विस्तार करने का एक तरीका है, या क्या उन्हें हमेशा शामिल होने की आवश्यकता है: 'Hello, ' . s:name . '!'

जवाबों:


23

सिंगल और डबल उद्धृत स्ट्रिंग के बीच एकमात्र अंतर बैकस्लैश से संबंधित है। न्यूलाइन, घंटियाँ, टैब आदि जैसे विशेष वर्णों को प्रदर्शित करने के लिए , आपको डबल-कोट्स -> का उपयोग करना होगा "\n"

एकल-उद्धृत स्ट्रिंग के भीतर, '\'स्वयं = = '\n'दो-वर्ण स्ट्रिंग (बैकस्लैश + n) है। दोहरे उद्धरण चिह्नों के भीतर, आपको इसे दोगुना करना होगा -> "\\", जो उन्हें रीजेक्स को परिभाषित करने के लिए अन-प्रैक्टिकल बनाता है।

स्ट्रिंग विस्तार के बारे में, आपके पास कुछ विकल्प हैं:

  • 'Hello, ' . s:name . '!'
  • join(['Hello, ', s:name, '!'], '') - जिसका हम कभी उपयोग नहीं करते हैं
  • printf('Hello %s!', s:name)
  • lh#fmt#printf('Hello %1!', s:name)- lh-vim-lib से, जब हम प्रकारों के बारे में जानना नहीं चाहते हैं, और जब हमें खेतों को प्रारूपित करने की आवश्यकता नहीं होती है, लेकिन जब हम स्वरूपों का उपयोग करना चाहते हैं: 'Hello %1. How are you doing %1 this %2'।

क्या 'एकल-उद्धृत स्ट्रिंग के अंदर शामिल करना संभव है ?
टॉम हेल

2
@TomHale। हाँ यही है। इसे डबल करें। -> 'foo''bar', या दोनों प्रकार के उद्धरणों का उपयोग करें:'foo'."'".'bar'
ल्यूक हरमिट्टे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.