# Based on:
# http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/139290
# Author: Endy Tjahjono
class String
def perm
return [self] if self.length < 2
ret = []
0.upto(self.length - 1) do |n|
#rest = self.split('')
rest = self.split(//u) # for UTF-8 encoded
strings
picked = rest.delete_at(n)
rest.join.perm.each { |x| ret << picked + x }
end
ret
end
end
p "abc".perm #=> ["abc", "acb", "bac", "bca", "cab", "cba"]
On Apr 1, 8:44 am, "[email protected]" <[email protected]> wrote:
> Hello there,
>
> I have to rearrange the letters of a word in all possible ways in
> my rails application.I am not getting the exact way doing so, please
> can anybody help me in developing that logic.
>
> Thank you in advance.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---