अंतर क्या है?
अंतर क्या है?
जवाबों:
% w उद्धरण एकल उद्धरण ''(कोई वैरिएबल इंटरपोलेशन, कम एस्केप सीक्वेंस) की तरह है, जबकि% W दोहरे उद्धरण चिह्नों की तरह है ""।
irb(main):001:0> foo="hello"
=> "hello"
irb(main):002:0> %W(foo bar baz #{foo})
=> ["foo", "bar", "baz", "hello"]
irb(main):003:0> %w(foo bar baz #{foo})
=> ["foo", "bar", "baz", "\#{foo}"]
#। '#{foo}'और "\#{foo}"आप एक ही स्ट्रिंग है, जो आप के साथ सत्यापित कर सकते हैं देना '#{foo}' == "\#{foo}"में irb।
हालांकि एक पुरानी पोस्ट, सवाल सामने आते रहते हैं और उत्तर मुझे हमेशा स्पष्ट नहीं लगते हैं। तो, यहाँ मेरे विचार हैं।
% w और% W सामान्य डिलीट किए गए इनपुट प्रकारों के उदाहरण हैं , जो Arrays से संबंधित हैं। अन्य प्रकार हैं जिनमें% q,% Q,% r,% x और% i शामिल हैं।
ऊपरी और निचले मामले के बीच का अंतर यह है कि यह हमें एकल और दोहरे उद्धरण की सुविधाओं तक पहुंच प्रदान करता है। सिंगल कोट्स और लोअरकेस% w के साथ, हमारे पास कोई कोड प्रक्षेप नहीं है (उदाहरण # {someCode}) और काम करने वाले भागने के पात्रों की एक सीमित श्रृंखला (जैसे \ _, \ n)। दोहरे उद्धरण चिह्नों और बड़े% W के साथ हमारे पास इन सुविधाओं तक पहुंच है।
उपयोग किए गए सीमांकक कोई भी चरित्र हो सकता है, न कि केवल खुले कोष्ठक। ऊपर दिए गए उदाहरणों के साथ खेलते हैं कि प्रभाव में देखें।
: -% की w और पूरी सूची भागने अक्षर और सीमांकक उदाहरण, के साथ एक पूर्ण लिखने अप के लिए पर एक नजर है http://cyreath.blogspot.com/2014/05/ruby-w-vs-w-secrets-revealed .html
निशान
%w&readable af&
प्रतिशत स्ट्रिंग्स के लिए दस्तावेज़ीकरण: http://ruby-doc.org/core-2.2.0/doc/syntax/literals_rdoc.html#label-Percent+Strings
%W%Qउदाहरण के लिए, दोहरे-उद्धृत सरणी तत्वों के लिए उपयोग किया जाता है ,
foo = "!"
%W{hello world #{foo}} # => ["hello", "world", "!"]
%wजैसे एकल-उद्धृत सरणी तत्वों के लिए उपयोग किया जाता है %q।
%w(hello world #{foo})
# => ["hello","world", "\#{foo}"]