Re: basic issue with do and :=

• To: mathgroup at smc.vnet.net
• Subject: [mg60411] Re: [mg60402] basic issue with do and :=
• From: "David Park" <djmp at earthlink.net>
• Date: Fri, 16 Sep 2005 03:48:52 -0400 (EDT)
• Sender: owner-wri-mathgroup at wolfram.com

```David,

That's not what I get.

Do[a[i] = i, {i, 10}]
Do[b[i] := a[i] + 1, {i, 10}]

Table[{a[i], b[i]}, {i, 10}]
{{1, 2}, {2, 3}, {3, 4}, {4, 5}, {5, 6}, {6, 7}, {7, 8}, {8, 9}, {9, 10},
{10, 11}}

But this could be better done with...

Clear[a, b]
a[i_] := i
b[i_] := a[i] + 1

Table[{a[i], b[i]}, {i, 10}]
{{1, 2}, {2, 3}, {3, 4}, {4, 5}, {5, 6}, {6, 7}, {7, 8}, {8, 9}, {9, 10},
{10, 11}}

David Park

From: David [mailto:isolanoster at gmail.com]
To: mathgroup at smc.vnet.net

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 ?