# creating arrays array1 = [ 1, 2, 3, 4 ] array2 = Array[ 3, 4, 5, 6 ] array3 = Array.[]( 1, 2, 3, 4 ) # add a pretty array function class Array def format "[ #{self.join( ', ' )} ]" end end # appending to the end of an array puts array1.format # generates [ 1, 2, 3, 4 ] array1 << 5 puts array1.format # generates [ 1, 2, 3, 4, 5 ] # sub-arrays puts array1[ 0, 3 ].format # this prints the first 3 elements puts array1[ 1..4 ].format # this prints elements at index 1 through 4 # array math puts ( array1 & array2 ).format # generates [ 3, 4, 5 ] puts ( array1 * 2 ).format # generates [ 1, 2, 3, 4, 5, 1, 2, 3, 4, 5 ] puts ( array1 + [ 6, 7 ] ).format # generates [ 1, 2, 3, 4, 5, 6, 7 ] puts ( array1 - array2 ).format # generates [ 1, 2 ] puts ( array1 | array2 ).format # generates [ 1, 2, 3, 4, 5, 6 ] # useful array functions: array1.collect! do |x| x += 5 end puts array1.format # generates [ 6, 7, 8, 9, 10 ] array1.delete_if do |x| x > 8 end puts array1.format # generates [ 6, 7, 8 ] # each -- this is the "ruby way" to iterate over arrays array1.each do |x| puts x end # there's tons more in the ruby docs