Single Post

Header

Sunday, September 30, 2012

TCL Programs in Lists (lindex,lsort,llength,lreverse,lreplace,lrange,lsearch,lappend)


TCL script examples with sample programs
Program: Lindex using tcl
set var {venkat krishna prashanth balla}
puts [lindex $var 2]
o/p:
prashanth
Program: Lsort using tcl
puts [lsort -integer {25 12 78}]
puts [lsort -decreasing -integer {25 12 78}]
o/p:
12 25 78
78 25 12
Program: Llength using tcl
set var “abc bcd cde xyz”
puts [llength $var]
o/p:
4
Program: Lreverse using tcl
set var “abc bcd cde xyz”
puts [lreverse $var]
o/p:
xyz cde bcd abc
Program: Lreplace using tcl
set result [lreplace {a b {c d} e} 1 2 {W X} Y Z]
puts $result
o/p:
a {W X} Y Z e
set result [lreplace {a b {c d} e} 3 3]
puts $result
o/p:
a b {c d}
Program: Lrange using tcl
set x {a b {c d} e}
set result1 [lrange $x 1 3]
puts $result1
set result2 [lrange $x 0 1]
puts $result2
o/p:
b {c d} e
a b
Program: Lsearch using tcl
set x {venkat gopi balla ravi}
set result1 [lsearch $x balla]
puts $result1
set result2 [lsearch $x kiran]
puts $result2
o/p:
2
-1
Program: Lsort using tcl
puts [lsort -integer {10 1 2}]
puts [lsort -decreasing -integer {10 1 2}]
o/p:
1 2 10
10 2 1
Program: Llength using tcl
set var “abc bcd cde xyz”
puts [llength $var]
o/p:
4
Program: Lreverse using tcl
set var “abc bcd cde xyz”
puts [lreverse $var]
o/p:
xyz cde bcd abc
Program: Lappend using tcl
set x {venkat gopi balla ravi}
lappend x nandan
puts $x
o/p:
venkat gopi balla ravi nandan
Program :Write a program to reverse the given list elements using tcl
proc listrev {str} {
set l [llength $str]
set l [expr $l-1]
set rev ” ”
for {set i $l} {$i>=0} {incr i -1} {
lappend rev [lindex $str $i]   }
puts “$rev”
}
listrev “abc bcd cde xyz”
Output :
xyz cde bcd abcProgram: Insert elements in middle using tcl
set var {a b c}
linsert $var 1 h
puts $var
set list_a {1 2 4 5 6 7}
set list_a [linsert $list_a 2 3]
puts $list_a
o/p:
a b c
1 2 3 4 5 6 7
Program:Implement lrange in tcl without using lrange function
proc lrg {str s e} {
set var ” ”
for {set i $s} {$i<=$e} {incr i} {
lappend var [lindex $str $i]    }
puts $var
}
lrg “a b c d e f g” 1 3
Output:
b c d

No comments:

Post a Comment