2012-06-22 15 views
19

मैं रूबी के लिए नया हूँ, और मैं इस कोड स्निपेटगहरे लाल रंग का पाइप ऑपरेटर

1|2 

देखा और 3

क्या | ऑपरेटर वास्तव में क्या करता है देता है? मुझे इस पर कोई दस्तावेज नहीं मिल रहा था। इसके अलावा, इस संदर्भ में इसे "पाइप" ऑपरेटर के रूप में जाना जाता है? या इसे कुछ और कहा जाता है?

उत्तर

13

रूबी में, "संचालक" वास्तव में विधि कॉल कर रहे हैं। वे प्रत्येक वर्ग द्वारा परिभाषित हैं।

1 और 2 फ़िक्सनम हैं और इसलिए 1|2 पाइप "bitwise या" करता है।

Ruby doc

Bitwise info

+0

ओह, हाँ, मैंने थोड़ा सा या नहीं सोचा था। जब मैंने 1 | 2 देखा और नतीजा 3 था, तो मेरा विचार तुरंत अतिरिक्त हो गया, जिससे मुझे इसके बारे में उलझन में आया। –

23

यह एक बिटवाइज़ ऑपरेटर है और वे मूल्य की बाइनरी प्रतिनिधित्व के साथ सीधे काम करते हैं।

| मतलब या। मैं आपको दिखाता हूं कि यह कैसे काम करता है।

1|2 = 3 क्या फन के तहत होता है:

1 = 0001 
2 = 0010 
-------- 
3 = 0011 <- result 

एक और उदाहरण:

10|2 = 10 अब बाइनरी में :

10 = 1010 
2 = 0010 
-------- 
10 = 1010 <- result 
+1

+1 महान स्पष्टीकरण! – JGutierrezC

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