Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Rhinorhino on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

store values from a loop in a list

Status
Not open for further replies.

Natiya

Programmer
Joined
May 14, 2017
Messages
12
Location
ES
Hi there,

I'd like to know how to store the values 90 89 88 ...0 -81 -82 ...-90 in a list/array. I thought I could do a for loop and store the iteration variable in the list/array but I'm a bit confused with the syntax. I'm trying to do this:

Code:
for {set i 90} {$i > 0} { incr i -1} {
		
			lappend vector $i
			
		}
		
		for {set i 0} {$i > 91} {incr i -1} {
		
			lappend vector2 $i
			
		}
		
		lappend positions $vector $vector2



However, this is not working properly and what I get is

% $positions
invalid command name "90 {0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90} {90 90} {0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90} {90 90 90} {0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90} {90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1} {}"

Any help will be really appreciated [bigsmile] thank you!
 
I don't understand, if you want to store the values 20 19 18 ...0 -1 -2 ...-20 why you test in your loop {$i > 91}

For example, you can do it like this:
Code:
[COLOR=#a52a2a][b]set[/b][/color] my_list {}

[COLOR=#a52a2a][b]for[/b][/color] {[COLOR=#a52a2a][b]set[/b][/color] i [COLOR=#ff00ff]5[/color]} {[COLOR=#008b8b]$i[/color] >= -[COLOR=#ff00ff]5[/color]} {[COLOR=#a52a2a][b]incr[/b][/color] i -[COLOR=#ff00ff]1[/color]} {
[COLOR=#0000ff]  #puts "appending: $i"[/color]
  [COLOR=#a52a2a][b]lappend[/b][/color] my_list [COLOR=#008b8b]$i[/color]
}

[COLOR=#0000ff]# print list[/color]
[COLOR=#a52a2a][b]puts[/b][/color] [COLOR=#ff00ff]"my_list = ( [/color][[COLOR=#a52a2a][b]join[/b][/color] [COLOR=#008b8b]$my_list[/color] [COLOR=#ff00ff]"; "[/color]][COLOR=#ff00ff] )[/color][COLOR=#6a5acd]\n[/color][COLOR=#ff00ff]"[/color]

[COLOR=#0000ff]# iterate over all list elements[/color]
[COLOR=#a52a2a][b]puts[/b][/color] [COLOR=#ff00ff]"my_list = "[/color]
[COLOR=#a52a2a][b]foreach[/b][/color] el [COLOR=#008b8b]$my_list[/color] {
  [COLOR=#a52a2a][b]puts[/b][/color] [COLOR=#ff00ff]"[/color][COLOR=#008b8b]$el[/color][COLOR=#ff00ff]"[/color]
}

Output:
Code:
$ tclsh natiya.tcl 
my_list = ( 5; 4; 3; 2; 1; 0; -1; -2; -3; -4; -5 )

my_list = 
5
4
3
2
1
0
-1
-2
-3
-4
-5
 
Sorry, there were a mistake in the lists boundaries [ponder] but you understood what I needed! Thank you so much!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top