I\'ve just noticed that Array doesn\'t override the triple equal sign method ===
, which is sometimes called the case equality method.
x = 2
cas
Because it's in the specification.
it "treats a literal array as its own when argument, rather than a list of arguments"
The spec was added February 3, 2009 by Charles Nutter (@headius). Since this answer's probably not what you're looking for, why don't you ask him?
To take a wild and completely uninformed stab in the dark, it seems to me that you might have hit upon the answer by using a splat in your question. Since the functionality is available by design, why duplicate when doing so would remove the ability to test Array equality? As Jordan points out above, situations exist where this is useful.
Future readers should note that unless the array in question is already instantiated, using an array at all is not necessary to match on multiple expressions:
x = 2
case x
when 1, 2, 3 then "match"
else "no match"
end # => "match"