Sha256: 283ace42cf615dcc6ed68cc2462f681bac69437e6995c0917ad40b3bf7169742

Contents?: true

Size: 735 Bytes

Versions: 22

Compression:

Stored size: 735 Bytes

Contents

require 'facet/array/shuffle'

class String

  # Return the string with seperated sections arranged
  # in a random order. The default seperation is by character.
  #
  #   "Ruby rules".shuffle  #=> "e lybRsuur"
  #
  def shuffle(separator=//)
    split(separator).shuffle.join('')
  end

  # In place version of shuffle.
  #
  def shuffle!(separator=//)
    self.replace( shuffle(separator) )
  end

end


#  _____         _
# |_   _|__  ___| |_
#   | |/ _ \/ __| __|
#   | |  __/\__ \ |_
#   |_|\___||___/\__|
#
=begin test

  require 'test/unit'

  class TCString < Test::Unit::TestCase

    def test_shuffle
      assert_nothing_raised { "abc 123".shuffle }
      #assert_nothing_raised { "abc 123".shuffle! }
    end

  end

=end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
facets-1.0.0 lib/facet/string/shuffle.rb
facets-1.0.3 packages/core/lib/facet/string/shuffle.rb
facets-1.3.0 lib/facets/core/string/shuffle.rb
facets-1.1.0 lib/facet/string/shuffle.rb
facets-1.2.0 lib/facets/core/string/shuffle.rb
facets-1.2.1 lib/facets/core/string/shuffle.rb
facets-1.3.2 lib/facets/core/string/shuffle.rb
facets-1.3.1 lib/facets/core/string/shuffle.rb
facets-1.3.3 lib/facets/core/string/shuffle.rb
facets-1.4.2 lib/facets/core/string/shuffle.rb
facets-1.4.0 lib/facets/core/string/shuffle.rb
facets-1.4.1 lib/facets/core/string/shuffle.rb
facets-1.4.3 lib/facets/core/string/shuffle.rb
facets-1.4.4 lib/facets/core/string/shuffle.rb
facets-1.4.5 lib/facets/core/string/shuffle.rb
facets-1.7.30 lib/facets/core/string/shuffle.rb
facets-1.7.0 lib/facets/core/string/shuffle.rb
facets-1.7.38 lib/facets/core/string/shuffle.rb
facets-1.7.46 lib/facets/core/string/shuffle.rb
facets-1.8.0 lib/facets/core/string/shuffle.rb