How to programmatically specify multiple iterators?
Clash Royale CLAN TAG#URR8PPP
up vote
3
down vote
favorite
How to use Row[Table[B[i],0,i,i,0,2],","]
directly in Do
command? I mean that the following command
Row[Table[B[i],0,i,i,0,2],","]
gives
B[0], 0, 0,B[1], 0, 1,B[2],0,2
But, the following command returns the error
"Do::nliter: Non-list iterator Row[Table[B[i], 0, i, i, 0, 2], ,] at position 2 does not evaluate to a real numeric value."
Do[Print[B[0]+B[1]+B[2]],Row[Table[B[i],0,i,i,0,2],","]]
Of course, one can type instead by hand the following:
Do[Print[B[0]+B[1]+B[2]],B[0],0,0,B[1],0,1,B[2],0,2]
But, I feel that typing an output by hand again is not really an optimal method.
list-manipulation row do
New contributor
add a comment |Â
up vote
3
down vote
favorite
How to use Row[Table[B[i],0,i,i,0,2],","]
directly in Do
command? I mean that the following command
Row[Table[B[i],0,i,i,0,2],","]
gives
B[0], 0, 0,B[1], 0, 1,B[2],0,2
But, the following command returns the error
"Do::nliter: Non-list iterator Row[Table[B[i], 0, i, i, 0, 2], ,] at position 2 does not evaluate to a real numeric value."
Do[Print[B[0]+B[1]+B[2]],Row[Table[B[i],0,i,i,0,2],","]]
Of course, one can type instead by hand the following:
Do[Print[B[0]+B[1]+B[2]],B[0],0,0,B[1],0,1,B[2],0,2]
But, I feel that typing an output by hand again is not really an optimal method.
list-manipulation row do
New contributor
add a comment |Â
up vote
3
down vote
favorite
up vote
3
down vote
favorite
How to use Row[Table[B[i],0,i,i,0,2],","]
directly in Do
command? I mean that the following command
Row[Table[B[i],0,i,i,0,2],","]
gives
B[0], 0, 0,B[1], 0, 1,B[2],0,2
But, the following command returns the error
"Do::nliter: Non-list iterator Row[Table[B[i], 0, i, i, 0, 2], ,] at position 2 does not evaluate to a real numeric value."
Do[Print[B[0]+B[1]+B[2]],Row[Table[B[i],0,i,i,0,2],","]]
Of course, one can type instead by hand the following:
Do[Print[B[0]+B[1]+B[2]],B[0],0,0,B[1],0,1,B[2],0,2]
But, I feel that typing an output by hand again is not really an optimal method.
list-manipulation row do
New contributor
How to use Row[Table[B[i],0,i,i,0,2],","]
directly in Do
command? I mean that the following command
Row[Table[B[i],0,i,i,0,2],","]
gives
B[0], 0, 0,B[1], 0, 1,B[2],0,2
But, the following command returns the error
"Do::nliter: Non-list iterator Row[Table[B[i], 0, i, i, 0, 2], ,] at position 2 does not evaluate to a real numeric value."
Do[Print[B[0]+B[1]+B[2]],Row[Table[B[i],0,i,i,0,2],","]]
Of course, one can type instead by hand the following:
Do[Print[B[0]+B[1]+B[2]],B[0],0,0,B[1],0,1,B[2],0,2]
But, I feel that typing an output by hand again is not really an optimal method.
list-manipulation row do
list-manipulation row do
New contributor
New contributor
edited 15 mins ago
Carl Woll
56.7k272147
56.7k272147
New contributor
asked 51 mins ago
veo
1254
1254
New contributor
New contributor
add a comment |Â
add a comment |Â
3 Answers
3
active
oldest
votes
up vote
4
down vote
accepted
What you actually want is to create a Sequence
from the Table
to be used as your iterators.
You can do this with
Do[Print[B[0] + B[1] + B[2]], Sequence @@ Table[B[i], 0, i, i, 0, 2] //
Evaluate]
(*0
1
2
1
2
3*)
Or, so you don't have to force evaluation,
Do[Print[B[0] + B[1] + B[2]], ##] & @@ Table[B[i], 0, i, i, 0, 2]
add a comment |Â
up vote
2
down vote
Do[Print[B[0] + B[1] + B[2]],
Evaluate[Sequence @@ First@ Row[Table[B[i], 0, i, i, 0, 2], ","]]]
or
row = Row[Table[B[i], 0, i, i, 0, 2], ","];
Do[Print[B[0] + B[1] + B[2]], Evaluate[Sequence @@ row[[1]]]]
add a comment |Â
up vote
1
down vote
Perhaps you can avoid Do
and instead use Tuples
:
Tuples @ Range[0, 0, 1, 2]
0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1, 1, 0, 1, 2
You can then use Total
to sum each tuple:
Total[
Tuples @ Range[0, 0, 1, 2],
2
]
0, 1, 2, 1, 2, 3
add a comment |Â
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
4
down vote
accepted
What you actually want is to create a Sequence
from the Table
to be used as your iterators.
You can do this with
Do[Print[B[0] + B[1] + B[2]], Sequence @@ Table[B[i], 0, i, i, 0, 2] //
Evaluate]
(*0
1
2
1
2
3*)
Or, so you don't have to force evaluation,
Do[Print[B[0] + B[1] + B[2]], ##] & @@ Table[B[i], 0, i, i, 0, 2]
add a comment |Â
up vote
4
down vote
accepted
What you actually want is to create a Sequence
from the Table
to be used as your iterators.
You can do this with
Do[Print[B[0] + B[1] + B[2]], Sequence @@ Table[B[i], 0, i, i, 0, 2] //
Evaluate]
(*0
1
2
1
2
3*)
Or, so you don't have to force evaluation,
Do[Print[B[0] + B[1] + B[2]], ##] & @@ Table[B[i], 0, i, i, 0, 2]
add a comment |Â
up vote
4
down vote
accepted
up vote
4
down vote
accepted
What you actually want is to create a Sequence
from the Table
to be used as your iterators.
You can do this with
Do[Print[B[0] + B[1] + B[2]], Sequence @@ Table[B[i], 0, i, i, 0, 2] //
Evaluate]
(*0
1
2
1
2
3*)
Or, so you don't have to force evaluation,
Do[Print[B[0] + B[1] + B[2]], ##] & @@ Table[B[i], 0, i, i, 0, 2]
What you actually want is to create a Sequence
from the Table
to be used as your iterators.
You can do this with
Do[Print[B[0] + B[1] + B[2]], Sequence @@ Table[B[i], 0, i, i, 0, 2] //
Evaluate]
(*0
1
2
1
2
3*)
Or, so you don't have to force evaluation,
Do[Print[B[0] + B[1] + B[2]], ##] & @@ Table[B[i], 0, i, i, 0, 2]
edited 37 mins ago
answered 42 mins ago
That Gravity Guy
42625
42625
add a comment |Â
add a comment |Â
up vote
2
down vote
Do[Print[B[0] + B[1] + B[2]],
Evaluate[Sequence @@ First@ Row[Table[B[i], 0, i, i, 0, 2], ","]]]
or
row = Row[Table[B[i], 0, i, i, 0, 2], ","];
Do[Print[B[0] + B[1] + B[2]], Evaluate[Sequence @@ row[[1]]]]
add a comment |Â
up vote
2
down vote
Do[Print[B[0] + B[1] + B[2]],
Evaluate[Sequence @@ First@ Row[Table[B[i], 0, i, i, 0, 2], ","]]]
or
row = Row[Table[B[i], 0, i, i, 0, 2], ","];
Do[Print[B[0] + B[1] + B[2]], Evaluate[Sequence @@ row[[1]]]]
add a comment |Â
up vote
2
down vote
up vote
2
down vote
Do[Print[B[0] + B[1] + B[2]],
Evaluate[Sequence @@ First@ Row[Table[B[i], 0, i, i, 0, 2], ","]]]
or
row = Row[Table[B[i], 0, i, i, 0, 2], ","];
Do[Print[B[0] + B[1] + B[2]], Evaluate[Sequence @@ row[[1]]]]
Do[Print[B[0] + B[1] + B[2]],
Evaluate[Sequence @@ First@ Row[Table[B[i], 0, i, i, 0, 2], ","]]]
or
row = Row[Table[B[i], 0, i, i, 0, 2], ","];
Do[Print[B[0] + B[1] + B[2]], Evaluate[Sequence @@ row[[1]]]]
edited 36 mins ago
answered 42 mins ago
kglr
160k8184384
160k8184384
add a comment |Â
add a comment |Â
up vote
1
down vote
Perhaps you can avoid Do
and instead use Tuples
:
Tuples @ Range[0, 0, 1, 2]
0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1, 1, 0, 1, 2
You can then use Total
to sum each tuple:
Total[
Tuples @ Range[0, 0, 1, 2],
2
]
0, 1, 2, 1, 2, 3
add a comment |Â
up vote
1
down vote
Perhaps you can avoid Do
and instead use Tuples
:
Tuples @ Range[0, 0, 1, 2]
0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1, 1, 0, 1, 2
You can then use Total
to sum each tuple:
Total[
Tuples @ Range[0, 0, 1, 2],
2
]
0, 1, 2, 1, 2, 3
add a comment |Â
up vote
1
down vote
up vote
1
down vote
Perhaps you can avoid Do
and instead use Tuples
:
Tuples @ Range[0, 0, 1, 2]
0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1, 1, 0, 1, 2
You can then use Total
to sum each tuple:
Total[
Tuples @ Range[0, 0, 1, 2],
2
]
0, 1, 2, 1, 2, 3
Perhaps you can avoid Do
and instead use Tuples
:
Tuples @ Range[0, 0, 1, 2]
0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1, 1, 0, 1, 2
You can then use Total
to sum each tuple:
Total[
Tuples @ Range[0, 0, 1, 2],
2
]
0, 1, 2, 1, 2, 3
answered 16 mins ago
Carl Woll
56.7k272147
56.7k272147
add a comment |Â
add a comment |Â
veo is a new contributor. Be nice, and check out our Code of Conduct.
veo is a new contributor. Be nice, and check out our Code of Conduct.
veo is a new contributor. Be nice, and check out our Code of Conduct.
veo is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f181912%2fhow-to-programmatically-specify-multiple-iterators%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password