Hi, 

In message "[ruby-talk:02091] Array Gotchas"
    on 00/03/22, "Dat Nguyen" <thucdat / hotmail.com> writes:
>While I was wondering why '+' was the concatenation and '-' was the 
>subtraction, I learned that Array indeed has the concat(other) method, but 
>not the substract(other) method and many other explicite spelling ones.
>
>There is already '+' for concatenation, why concat(other). When 
>concat(other) why not substract(other) also. And what about union(other), 
>etc.
>
>This is a sort of incompleteness and redundancy.

At first, `+' and `concat' is slightly different. 

  a, b = [1, 2, 3], [4, 5, 6]

  a + b;       p a #=> [1, 2, 3]
  a.concat b;  p a #=> [1, 2, 3, 4, 5, 6]
  
Second, `substract' does indeed not exist.  If you would strongly like
to add the method as built-in one, we would start discussion.  Or, you
can define as follows:

  class Array
    def substract(other)
      replace(self - other)
    end
  end

  a, b = [1, 2, 3, 4, 5, 6], [1, 3, 5]
  a - b;         p a #=> [1, 2, 3, 4, 5, 6]
  a.substract b; p a #=> [2, 4, 6]

Regards,

-- gotoken