Nested looping

Nesting of control constructs provides a valuable method for ensuring that you are acting on the values desired, as well as combining multiple actions, within the same portion of the code. In this section, we will be expanding on that premise to illustrate the nesting of different control constructs within the same script.

How to do it…

In the following recipe, we will create a Tcl script, that accepts two numeric arguments (x and y), where y is greater than x, evaluates the existence of the arguments, and prints out the values between x and y.

Create a text file named nest.tcl that contains the following commands:

if {$argc == 2} {
	set x [lindex $argv 0]
	set y [lindex $argv 1]
	puts "Beginning the while loop"
	for {set i $x} {$i <= $y} {incr i} {puts $i}
} else {
	puts "Invalid number of arguments"
}

Now invoke the script using the following command line:


% tclsh85 nest.tcl 1
Invalid number of arguments

How it works…

As you can see by the output, the if statement evaluated as false and the inner loop was never reached.

There's more…

Now invoke the script using the following command line:


% tclsh85 nest.tcl 5 10
5
6
7
8
9
10

In this instance, we have entered the for loop and invoked the actions until our upper limit was reached.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.225.255.187