From: "Lee Butterman" <leebutterman@gmail.com>
Date: April 22, 2006 10:25:22 PM CDT
To: submission@rubyquiz.com
Subject: Please forward: Ruby Quiz Submission / Text Mungingclass String
def shuffle() split('').sort_by {rand}.join end
enddef munge s
eac_wor_ = /[a-z]+(?=[a-z])/i
s.gsub(eac_wor_) {|s| s[0..0]+s[1..-1].shuffle}
endwhile gets
print munge($_)
end__END__
the only bit of magic is the regexp;
it relies on the left-to-right matching
to match the first character of a word greedily
up to the next-to-last (hence, eac_wor_).this was great fun! regular expressions are always a hoot and a half
lee
···
Begin forwarded message: