Forum: Ruby on Rails rearranging the letters of a word

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
on 2009-04-01 16:45
(Received via mailing list)
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.
Harold (Guest)
on 2009-04-01 17:35
(Received via mailing list)
# Based on:
# 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
          picked = rest.delete_at(n)
          rest.join.perm.each { |x| ret << picked + x }


p "abc".perm      #=>  ["abc", "acb", "bac", "bca", "cab", "cba"]
This topic is locked and can not be replied to.