2010-01-20 14 views
18

मैं रूबी सीख रहा हूं।str.each काम नहीं कर रहा है

मुझे String#each पर http://ruby-doc.org/core/classes/String.html पर विधि मिली।

जब मैं इसे का उपयोग करने का प्रयास करें ...

irb(main):001:0> "hello\nworld".each {|s| p s} 
NoMethodError: undefined method `each' for "hello\nworld":String 

... लेकिन मुझे लगता है कि NoMethodError मिलता है।

मैं रूबी 1.9.1p253 का उपयोग कर रहा हूं इसलिए मुझे नहीं लगता कि मैं पुराने संस्करण का उपयोग कर रहा हूं। क्या चल रहा है?

उत्तर

7

उपयोग each_char:

"hello\nworld".each_char {|s| p s} 

कारण है कि यह काम नहीं कर रहा है के रूप में, यह 1.8 नहीं बल्कि 1.9 में काम करता है।

+2

'स्ट्रिंग # प्रत्येक' लाइन द्वारा पुनरावृत्त, चार नहीं। – sepp2k

31

रूबी 1.9 कक्षा पर each नहीं है। आप जो करना चाहते हैं उसके आधार पर each_char या each_line का उपयोग करें। रुबी के लिए दस्तावेज़ 1.9 Stringhttp://ruby-doc.org/core-1.9.3/String.html हैं।

3

आप 1.8 के लिए दस्तावेज़ देख रहे हैं। स्ट्रिंग # प्रत्येक को 1.9 में हटा दिया गया है। इसके बजाय प्रत्येक_लाइन का प्रयोग करें।

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