2010-11-30 8 views
15

मुझे फ़िक्समम्स को स्ट्रिंग में कनवर्ट करने की आवश्यकता है। मेरा समाधान है:रूबी का उपयोग करके, मैं सभी सरणी मानों को किसी दिए गए प्रकार में कैसे परिवर्तित करूं?

arr.map {|a| a.to_s} 

क्या कोई बेहतर तरीका है?

+2

आपका समाधान स्पष्ट (अच्छा) के बारे में है, जैसा कि यह मिलता है, IMHO। – maerics

+0

यह समाधान मेरे लिए उत्तर से बेहतर दिखता है (हालांकि अगर मैं रूबी में विशेष रूप से काम कर रहा था तो शायद मैं अलग-अलग महसूस करूंगा)। यह अन्य सभी भाषाओं की तरह है जो समान कार्यक्षमता प्रदान करते हैं, जैसे सी # में LINQ के चयन कथन, या अधिकांश फ़ोरैच लूप संरचनाएं। –

उत्तर

30
arr.map(&:to_s) 

यह रूबी> = 1.8.7, "symbol to proc" shortcut में एक बेहतरीन नए सुविधा का उपयोग करता है, और अपने प्रश्न में कोड के बराबर है।

+0

मैंने इसे पहले नहीं देखा था। ऑपरेटर क्या कहा जाता है? क्या आपके पास सुविधा के लिए दस्तावेज का लिंक है? – dslh

+0

@hambend, महान प्रश्न। जवाब संशोधित –

+2

बीटीडब्लू: जबकि यह केवल 1.9 में रुबी कोर लाइब्रेरी में जोड़ा गया था और 1.8.7 पर बैकपोर्ट किया गया था, यह पहले से * आयु * के लिए ActiveSupport, Facets और कई अन्य रूबी एक्सटेंशन लाइब्रेरी में उपलब्ध है। –

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