On Wed, Jun 1, 2011 at 7:22 PM, Yingjian Ma <yingjian.ma1...@gmail.com> wrote:
>
> In my question
> (define (p x)
>   (+ x 10)
>   (* x 10)
>   )
> It seems it only executes (* x 10)

No, it executes both of them.  It evaluates (+ x 10), then throws away
the value it just computed.  Then it evaluated (* x 10), since that is
the last expression, the value gets returned as the value of the
function.  When there is more than one expression in a function body,
all of them get evaluated, but only the last is returned.  If you want
to use the results of both expressions, then you need to use two
functions, one for each expression, as Shriram said.

Justin

_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/users

Reply via email to