MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: strange behavior


On 11/10/09 at 5:58 AM, Jason_member at nntpjunkie.com (Jason Winters)
wrote:

>Hi!  I am wondering why these two modules behave differently

>Module[{ans = ""},
>For[i = 1, i < 10, i++,
>ans = InputString["Enter a String"];
>Print[ans]
>]
>]

>and

>Module[{ans = ""},
>For[i = 1, i < 10, i++,
>ans = InputString["Enter a String"]
>Print[ans]
>]
>]

>One prints out a bunch of extraneous Null's

The difference is the ; following the For loop. With the
semicolon present, you have a compound expression. When
Mathematica encounters a compound expression, the output is the
result of evaluating the portion following the last semicolon.
In this case, a Print statement.

Without the semicolon, Mathematica does a multiply operation.
That is For[...] Print[...] is seen as a directive to multiply
the results of evaluating For[...] by the results of Print[...].
The output of a For loop is Null which explains the results you got.



  • Prev by Date: Re: Formatting Numeric Outpuit
  • Next by Date: Re: strange behavior
  • Previous by thread: Re: strange behavior
  • Next by thread: Re: strange behavior