Fun with String class methods

Posted by root Sat, 14 Jun 2008 13:45:00 GMT

class MyString < String
  # not really useful
  alias + concat

  # emulates Array '*' method
  def *(string)
    self.split('').inject('') do |s1,c|
      s1 + c + string
    end
  end

  # emulates Array '-' method
  def /(string)
    (self.split('') - string.split('')).to_s
  end

  # chars' delimiter
  def delimiter(string)
    self.*(string).sub /.$/, ''
  end

end

a = MyString.new("abcdef")
b = MyString.new("ABCDEF")

puts a * ':'
puts a / (b + "a")
puts a.delimiter(":")

#a:b:c:d:e:f:
#bcdef
#a:b:c:d:e:f

Posted in  | Tags ,  | no comments

Comments

Comments are disabled