2012-05-21 6 views
6

मेरे पास दो चर a और b हैं। मैं कहता हूं कि मैं a और b दोनों मानों की तुलना करना चाहता हूं।एक अभिव्यक्ति में एक मान के साथ एकाधिक चर की तुलना करें

मैं इस तरह यह कर सकते हैं:

10 == a && 10 == b 

लेकिन, अगर वहाँ किसी भी तरह से एक भी अभिव्यक्ति में यह लिखने के लिए मैं सोच रहा था? (उदा तरह a == b == 10)

उत्तर

9
[a,b,3].all? {|x| x==10} 

लेकिन इस मामले में

[].all? {|x| x==10} 

भी वापस आ जाएगी सच

+0

'list.empty? ? झूठी: list.all? {| X | x == 10} 'खाली मुद्दे का ख्याल रखना चाहिए। – l0b0

+0

या 'नहीं (list.empty?) && list.all? {| X | x == 10} ' – l0b0

+2

+1 आईएमओ, यह स्वीकृत उत्तर से बेहतर है। और किनारे का मामला वास्तव में सवाल के लिए कोई फर्क नहीं पड़ता। –

4

अपडेट किया गया, aztaroth से टिप्पणी के बाद:

[a,b].uniq == [10] 
+1

11 और 10 == 10 -> सच? – aztaroth

+0

@aztaroth, धन्यवाद, मुझे याद आया कि ... – msorc

+0

ऐसा मत करो। यह परीक्षण के इरादे को महत्वपूर्ण रूप से अस्पष्ट करता है। सरल और स्पष्ट हर समय संक्षिप्त और अस्पष्ट धड़कता है। Array # सब का उपयोग कर दूसरा जवाब? बेहतर है – dbenhur

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