2012-08-28 16 views
7

शीर्षक, मुझे लगता है कि स्वयं घोषित है। मैं एक जावा-डेवलपर हूं और यह सुनिश्चित करना चाहता हूं कि मेरी सरणी में केवल पूर्णांक मान हों। मुझे पता है कि रूबी में सबकुछ एक वस्तु है। मुझे सरणी के माध्यम से लूप के लिए असुविधाजनक लगता है और हर तत्व पर चेक करता है। क्या रूबी में इसका कोई शॉर्टकट है?क्या मैं जांच सकता हूं कि एक सरणी उदा। बस रूबी में पूर्णांक रखता है?

उत्तर

16

ब्लॉक के साथ Enumerable#all? का उपयोग करें। पूर्णांक संख्या रूबी में कक्षा Integer के उदाहरण हैं।

[1, 2, 3].all? {|i| i.is_a?(Integer) } # => true 
[1, 2, 3, '4'].all? {|i| i.is_a?(Integer) } # => false 
+1

* छोटे * पूर्णांक रूबी में फिक्सनम हैं। यह बड़े पूर्णांक के साथ काम नहीं करेगा। सभी int संख्याओं को कवर करने के लिए, इंटेगर क्लास का उपयोग स्वयं करें: 'रखता है [1, 2, 3, 4444444444] .all? {| मैं | i.is_a? इंटीजर} ' – Nossidge

+0

@ नोसीज: हाँ, आप सही हैं। –

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

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