आशय विधि श्रृंखलन से बचने के लिए है:
[9] pry(main)> "every good boy does fine".gsub("every", "all").gsub("boy", "girl").gsub("fine", "well")
=> "all good girl does well"
[10] pry(main)> "every good boy does fine".gsub(/(every)|(boy)|(fine)/) do |word|
[10] pry(main)* case word
[10] pry(main)* when "every"
[10] pry(main)* "all"
[10] pry(main)* when "boy"
[10] pry(main)* "girl"
[10] pry(main)* when "fine"
[10] pry(main)* "well"
[10] pry(main)* end
[10] pry(main)* end
=> "all good girl does well"
वैकल्पिक रूप से:
[11] pry(main)> REPLACEMENT = { "every" => "all", "boy" => "girl", "fine" => "well"}
=> {"every"=>"all", "boy"=>"girl", "fine"=>"well"}
[12] pry(main)> "every good boy does fine".gsub(/(every)|(boy)|(fine)/) { |word| REPLACEMENT[word] }
=> "all good girl does well"
मुझे हरा इसके लिए :-( – bjhaid
'Regexp.union' का चालाक उपयोग कैसे कभी '' कोई बेहतर boy'.gsub (Regexp.union (* h.keys), h) '->' "कोई अच्छी लड़की नहीं" ' – Matt
@ मैट पॉइंटर के लिए धन्यवाद, मैंने इसे अभी तय कर दिया है .. –