Procedures are nothing but code blocks with series of commands that
provide a specific reusable functionality. It is used to avoid same code
being repeated in multiple locations. Procedures are equivalent to the
functions used in many programming languages and are made available in
Tcl with the help of proc command.
The syntax of creating a simple procedure is shown below −
The syntax of creating a simple procedure is shown below −
proc procedureName {arguments} { body }A simple example for procedure is given below −
#!/usr/bin/tclsh proc helloWorld {} { puts "Hello, World!" } helloWorldWhen the above code is executed, it produces the following result −
Hello, World!
Procedures with Multiple Arguments
An example for procedure with arguments is shown below −#!/usr/bin/tclsh proc add {a b} { return [expr $a+$b] } puts [add 10 30]When the above code is executed, it produces the following result −
40
Procedures with Variable Arguments
An example for procedure with arguments is shown below −#!/usr/bin/tclsh proc avg {numbers} { set sum 0 foreach number $numbers { set sum [expr $sum + $number] } set average [expr $sum/[llength $numbers]] return $average } puts [avg {70 80 50 60}] puts [avg {70 80 50 }]When the above code is executed, it produces the following result −
65 66
Procedures with Default Arguments
Default arguments are used to provide default values that can be used if no value is provided. An example for procedure with default arguments, which is sometimes referred as implicit arguments is shown below −#!/usr/bin/tclsh proc add {a {b 100} } { return [expr $a+$b] } puts [add 10 30] puts [add 10]When the above code is executed, it produces the following result −
40 110
Recursive Procedures
An example for recursive procedures is shown below −#!/usr/bin/tclsh proc factorial {number} { if {$number <= 1} { return 1 } return [expr $number * [factorial [expr $number - 1]]] } puts [factorial 3] puts [factorial 5]When the above code is executed, it produces the following result −
6 120
No comments:
Post a Comment