2012-03-15 12 views
8

में कंसोल (एक मास्टर प्रति मास्टर सरणी ऑब्जेक्ट) में एक पंक्ति पर सरणी की सरणी प्रिंट करना मेरे पास सरणी की एक सरणी है जो वर्तमान में प्रत्येक ऑब्जेक्ट को अपनी लाइन पर सरणी में प्रिंट कर रही है। मास्टर सरणी के अंदर कई अलग-अलग लोग हैं। प्रत्येक व्यक्ति को 5 अलग उन्हें संग्रहित वस्तुओं (जैसे अंतिम नाम, प्रथम नाम, जन्म तिथि .. आदि)रुबी

Kournikova 
Anna 
F 
6/3/1975 
Red 

Hingis 
Martina 
F 
4/2/1979 
Green 

Seles 
Monica 
F 
12/2/1973 
Black 

मुझे क्या करना कोशिश कर रहा हूँ प्रिंट आउट प्रत्येक व्यक्ति है और एक लाइन पर उनकी संगत वस्तुओं, प्रति है व्यक्ति।

क्या किसी के पास इसका समाधान है? इसके अतिरिक्त, आउटपुट में सरणी ब्रैकेट ([]) या अल्पविराम शामिल नहीं होना चाहिए। मैं सोच रहा हूं कि क्या इसे केवल एक स्ट्रिंग होने की आवश्यकता होगी, या अगर कुछ ऐसा है जो मुझे याद आ रहा है।

नीचे मेरी कोड में से कुछ:

Kournikova Anna F 6/3/1975 Red 
Hingis Martina F 4/2/1979 Green 
Seles Monica F 12/2/1973 Black 
+3

कोशिश करते हैं और अपनी पोस्ट में के बजाय पाठ के वास्तविक पाठ छवियों का उपयोग करें: जब से तुम कॉपी करने और चिपकाने के लिए कोई उदाहरण डेटा तैयार प्रदान करते हैं, यहाँ कुछ उदाहरण कोड मैं बना है। पार्स करना बहुत मुश्किल है। –

+0

और यदि छवि होस्ट लाइन से बाहर हो जाता है तो सवाल बेकार हो जाता है। –

+0

उपरोक्त सुझावों के लिए संपादित किया गया। – tandy

उत्तर

11
your_array.each do |person| 
    puts person.join(" ") 
end 
+0

क्या होगा यदि सरणी में केवल संख्याएं हों। अगर your_array = [1, 2, 3, 4, 5]? तो आप प्रत्येक तत्व को एक पंक्ति पर कैसे प्रिंट करते हैं –

9

विधि कहते हैं स्वचालित रूप से एक नई लाइन डाल देंगे:

space_array = [split_space[0],split_space[1],split_space[3],new_date,split_space[5]] 
master << space_array 
puts master 

आदर्श उत्पादन कुछ इस तरह होगा। बिना किसी नई लाइन के टेक्स्ट को प्रिंट करने के लिए प्रिंट का उपयोग करें।

या यदि आप चाहते हैं, तो आप शामिल फ़ंक्शन का उपयोग कर सकते हैं।

['a', 'b', 'c'].join(' ') 
=> 'a b c' 
3

तुम सिर्फ एक स्ट्रिंग में बाहरी सरणी और join भीतरी सरणियों से अधिक पुनरावृति कर सकते हैं।

outer_array.each { |inner| puts inner.join(' ') }