insert
 
  insert(p1, p2)
  public
  Inserts other_str before the character at the given index, modifying str. Negative indices count from the end of the string, and insert after the given character. The intent is insert aString so that it starts at the given index.
"abcd".insert(0, 'X') #=> "Xabcd" "abcd".insert(3, 'X') #=> "abcXd" "abcd".insert(4, 'X') #=> "abcdX" "abcd".insert(-3, 'X') #=> "abXcd" "abcd".insert(-1, 'X') #=> "abcdX"
 Mange -  
    March 18, 2009
 Mange -  
    March 18, 2009 
    
  Better autopad numbers
There is a much better way than to use diwadn’s method if you want to pad numbers with zeros. Here’s my recommended way to do it:
"Number: %010d" % 12345 #=> "Number: 0000012345"
It’s very easy. First we begin our placeholder with “%”, then we specify a zero (0) to signify padding with zeros. If we omitted this zero, the number would be padded with spaces instead. When we have done that, just specify the target length of the string. At last a single “d” is placed to signify that we are inserting a number.
Please see String#% and Kernel#sprintf for more information about how to do this.
Here’s another example of how to do it:
12345.to_s.rjust(10, "0") #=> "0000012345"
See String#rjust for more information.
Any of these methods are a lot better than the method outlined below.
 diwadm -  
    March 12, 2009 - (v1_8_6_287 - v1_8_7_72)
 diwadm -  
    March 12, 2009 - (v1_8_6_287 - v1_8_7_72)
    
  Autopad Numbers with Zeros (0s)
Here’s a handy code for padding 0s in a string. This is useful when you need to generate numbers for forms, such as invoices or orders. For example, you want to turn an invoice number 12345 to 0012345:
$ irb >> s = "0000000" => "0000000" >> num = "12345" => "12345" >> s.insert(-(num.to_s.length + 1), num.to_s)[0, s.length - num.to_s.length] if num.to_s.length <= s.length => "0012345"
 joshuapinter -  
    March 18, 2012
 joshuapinter -  
    March 18, 2012 
    
  Destructive to the Original String.
Just as an FYI this function is destructive to the original String object.
name = 'draper' #=> "draper" name.insert( 0, 'don ' ) #=> 'don draper' name #=> 'don draper'

 RSpec
RSpec Ruby on Rails
Ruby on Rails Ruby
Ruby 
   
   
   
   
    
     
   
   = protected
 = protected
   
    