यह ध्यान देने योग्य है कि यदि आप वस्तुओं की एक सरणी है आप एक अलग फोन करने वाले के साथ एक विधि में व्यक्तिगत रूप से पारित करने के लिए, इस तरह चाहते लायक है:
# erb
<% strings = %w{ cat dog mouse rabbit } %>
<% strings.each do |string| %>
<%= t string %>
<% end %>
आप ब्लॉक विस्तार के साथ संयुक्त method
विधि का उपयोग कर सकते हैं व्यवहार सरल करने के लिए:
<%= strings.map(&method(:t)).join(' ') %>
आप परिचित नहीं हैं, तो क्या method
करता है विधि प्रतीक एक प्रोक में इसे करने के लिए पारित कर दिया साथ जुड़े समाहित है और यह देता है। एम्परसैंड इस प्रक्रिया को एक ब्लॉक में फैलाता है, जो map
पर काफी अच्छी तरह से पारित हो जाता है। map
की वापसी एक सरणी है, और हम शायद इसे थोड़ा और अधिक प्रारूपित करना चाहते हैं, इसलिए join
।
चेतावनी यह है कि Symbol#to_proc
के साथ, आप सहायक विधि पर तर्क नहीं दे सकते।
संभावित डुप्लिकेट [रूबी में तारों की सरणी में पूर्णांक की सरणी को कनवर्ट करें?] (Http://stackoverflow.com/questions/781054/convert-an-array-of-integers-into-an-array- ऑफ-स्ट्रिंग्स-इन-रूबी) – Nakilon