From: Steve Klabnik Date: 2012-02-10T02:45:19+09:00 Subject: Re: Difference between return and "not return" Because 'return' takes an argument, and ruby infers the []s. In the second case, 1, 2 by itself is not a valid statement, it doesn't guess the []s. Just do def y [1, 2] end