From: tamouse mailing lists Date: 2012-12-06T15:39:08+09:00 Subject: Re: Having isues with capitalizing words On Wed, Dec 5, 2012 at 10:10 PM, Matthew Kerwin wrote: > Try using "and"s instead of "or"s. > > > On 6 December 2012 14:02, JD KF wrote: >> >> So, this is a method I have made: >> >> def title(words) >> words.gsub(/(\A|\s)\w/) do |word| >> if(word!="and" || word!="an" || word!="the") >> word.upcase >> else >> word.downcase >> end >> end >> end >> >> I have been trying to solve this for the longest time and I can't figure >> it out. >> >> All I want the method to do is take in a string and capitalize every >> word except for "and" and "an" and "the". >> >> The above will not do it and I really don't understand why. I have >> tried a million versions of it as well. >> >> Can someone help me get in the right direction with this? >> >> -- >> Posted via http://www.ruby-forum.com/. >> > > > > -- > Matthew Kerwin, B.Sc (CompSci) (Hons) > http://matthew.kerwin.net.au/ > ABN: 59-013-727-651 > > "You'll never find a programming language that frees > you from the burden of clarifying your ideas." - xkcd or... 1.9.3-p194 :062 > phrase="the quick brown fox or a rabbit in the hen house" => "the quick brown fox or a rabbit in the hen house" 1.9.3-p194 :064 > title=phrase.split.each{|w| unless %{and or a the}.include?(w) then w[0]=w[0].upcase end; w}.join(" ") => "the Quick Brown Fox or a Rabbit In the Hen House" 1.9.3-p194 :065 > title[0]=title[0].upcase => "T" 1.9.3-p194 :066 > title => "The Quick Brown Fox or a Rabbit In the Hen House"