Re: on passing arguments to a function, how to break a list into
- To: mathgroup at smc.vnet.net
- Subject: [mg103740] Re: on passing arguments to a function, how to break a list into
- From: Albert Retey <awnl at gmx-topmail.de>
- Date: Sun, 4 Oct 2009 05:37:06 -0400 (EDT)
- References: <ha7hvj$5qe$1@smc.vnet.net>
Hi, > Suppose there is a function foo[] which returns back 2 items, say 'i' and > 'j'. They must be returned as a list ofcourse, so we have this > > foo[] := Module[{i, j}, > i = 3; > j = 7; > {i, j} > ] > > Now I have another function goo[] which accepts 2 items as input, and does > something with them, as in > > goo[i_, j_] := Module[{}, > i + j > ] > > Now I'd like to call foo[], and take its output, and pass it to directly to > goo[], but I can NOT do the following: > > goo[foo[]] Everything you need is already there (of course :-)). This will do the trick: goo@@foo[] or Apply[goo,foo[]] another thing you might want to look at is Sequence, I use it often in combination with Apply, e.g. if a function goo3 wants three arguments you could do something like: goo3[1,Sequence@@foo[]] hth, albert