2010-12-23 11 views
6

मुझे पता है कि यह प्रश्न एक मौलिक है। मैं एक स्ट्रिंग के लिए और एक पूर्णांक प्रयोग करने के लिए उपयोगकर्ता इनपुट लेने में सक्षम हूँ:एक समय में एक रूबी स्ट्रिंग एक शब्द (शब्द रैपिंग के लिए) पढ़ें

str = gets() 
num = gets().to_i 

लेकिन मैं स्ट्रिंग से पढ़ना चाहते चरित्र और गिनती द्वारा चरित्र (जैसे कि लंबाई में एक लाइन से अधिक मेरे मामले में है) स्ट्रिंग में आने वाले प्रत्येक चरित्र के लिए पहले से लेकर अंतिम तक वर्णों की संख्या। मैं जानता हूँ कि इस के माध्यम से प्राप्त किया जा सकता:

str.length

मैं इसे चरित्र बुद्धिमान के रूप में मैं लागू करने के लिए शब्द रूबी में लपेट कोशिश कर रहा हूँ, जिसमें लाइन चौड़ाई के भीतर कहते हैं कि (गणना करना चाहते हैं जो एक उपयोगकर्ता परिभाषित संख्या इनपुट होगा) मैं केवल उन शब्दों को मुद्रित करना चाहता हूं जो अगली पंक्ति में जारी नहीं हैं यानी मैं दो पंक्तियों पर निरंतर शब्द को विभाजित नहीं करना चाहता हूं। ऐसे शब्दों को नई लाइन में ले जाना चाहिए।

आपके समय के लिए धन्यवाद .. !!

उत्तर

7

getc एक समय में एक चरित्र में पढ़ा होगा:

char = getc() 

या आप each_char साथ स्ट्रिंग में वर्णों के माध्यम से चक्र कर सकते हैं:

'abc'.each_char do |char| 
    puts char 
end 
+1

यह उत्तर देता है क्या मूल रूप से प्रश्न के शीर्षक में कहा गया था, यह नहीं कि वास्तव में के लिए कहा गया था। – Phrogz

+0

वास्तव में यह करता है। – bowsersenior

+0

एलओएल! मुझे लगता है कि शीर्षक का जवाब ओपी के लिए काफी अच्छा था। खुशी है कि मेरा जवाब कुछ मदद का हो सकता है। – bowsersenior

5

आप Text::Format मणि की जाँच करने के लिए चाहते हो सकता है । इसके अलावा, एक्शन व्यू के हिस्से के रूप में रेल के पास word_wrap है, और यदि आप वेब सामान कर रहे हैं तो पैड्रिनो के पास word_wrap विधि समान है।

अन्यथा इस से एक linewrap नमूना है: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/249306

str = "\ 
I don't necessarily need code examples -- but if anyone has 
ideas for a best approach to specifying a line wrap width 
(breaking between words for lines no longer than a specific 
column width) for output from a Ruby script, I'd love to 
hear about it." 

X = 40 
puts str.gsub(/\n/," ").scan(/\S.{0,#{X-2}}\S(?=\s|$)|\S+/) 


--- output --- 
I don't necessarily need code examples 
-- but if anyone has ideas for a best 
approach to specifying a line wrap width 
(breaking between words for lines no 
longer than a specific column width) for 
output from a Ruby script, I'd love to 
hear about it. 
+0

इसे जिम्मेदार ठहराया गया है। यूआरएल देखें? –

+0

मेरा बुरा ... क्षमा करें :( – Zabba

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