"Hee-Sob Park" <phasis / hananet.net> writes: > "Lloyd Zusman" <ljz / asfast.com> wrote in message > news:ltofuiikge.fsf / asfast.com... > > > > [ ... ] > > How about this? > > cmd = ['/bin/ls',*ARGV] > exec(*cmd) Thank you, that works fine! I never tried it with the `*' before `ARGV'. Unless I overlooked something, I couldn't find an explanation for `*' (as used above) anywhere in "Programming Ruby", which only discusses it in the following context: def varargs(a, *b) [ a, b ] end varargs 1 -> [ 1, [] ] varargs 1, 2 -> [ 1, [ 2 ] ] varargs 1, 2, 3 -> [ 1, [ 2, 3 ] ] The above example shows `*' being used within a method definition, not a method invocation, and I'd like to understand the exact meaning of `*' when used this way in the argument list of a *call* to a method. Does it mean this: "append the following array as a series of arguments to the set of arguments that are being passed to the method whose parameter list I appear in"? That would explain why it works here: cmd = ['/bin/ls', *ARGV] .. because the [] operator actually represents an invocation of a method. Is what I wrote here a correct explanation of `*' in this context? Thanks to all of you for your help. -- Lloyd Zusman ljz / asfast.com