# 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, "railsb...@gmail.com" <railsb...@gmail.com> 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 rubyonrails-talk@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to