Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2005
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

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

Search the Archive

Re: basic issue with do and :=

  • To: mathgroup at smc.vnet.net
  • Subject: [mg60433] Re: [mg60402] basic issue with do and :=
  • From: "benshimo at bgumail.bgu.ac.il" <bsyehuda at gmail.com>
  • Date: Fri, 16 Sep 2005 03:49:31 -0400 (EDT)
  • References: <200509150916.FAA15855@smc.vnet.net>
  • Reply-to: benshimo at bgumail.bgu.ac.il
  • Sender: owner-wri-mathgroup at wolfram.com

if you check on b with ?b you will get


On 9/15/05, David <isolanoster at gmail.com> wrote:
>
> Hi all,
>
> this works as (I) expected
>
> -------------------------
> Do[a[i] = i, {i, 10}]
> Do[b[i] =a[i]+1, {i, 10}]
> -------------------------
>
> While this doesn't:
>
> --------------------------
> Do[a[i] = i, {i, 10}]
> Do[b[i] :=a[i]+1, {i, 10}]
> ---------------------------
>
> [note ":=" instead of "=" on the second line].
>
> namely the output is: "b[2]:=a[i]+1" for all i
>
>
>
> Is there any compact way to define: "b[i] :=a[i]+1" for all i ?



b[1] := a[i] + 1

b[2] := a[i] + 1
etc ,
this means that in the definition the left hand side is evaluated
immediately while the right hand side is delayed until a call for that
definition. Mathematica did here exactly what should be expected from it.
I wonder whay do you need to define a FUNCTION for each value of i?
b[i_]:=a[i]+1 will do. you do not need to enter this inside a loop.
yehuda



Thank you in advance,
>
> David
>
>



  • Prev by Date: Re: Proposal to get Stephen to Improve the lot ofSpace Shuttle Programmers
  • Next by Date: Re: Mathematica can't solve simple system of equations
  • Previous by thread: Re: basic issue with do and :=
  • Next by thread: Re: basic issue with do and :=