TCL TK Tutorial: Tool Command Language
ฮคฮน ฮตฮฏฮฝฮฑฮน ฯฮฟ TCL;
ฮคฮฟ TCL ฮตฮฏฮฝฮฑฮน ฮตฯฮฑฯฮผฮฟฮณฮฎ ฯฮปฮฟฮนฮฟฯ ฯฮฟฯ ฮดฮนฮฑฮฒฮฌฮถฮตฮน ฯฮทฮฝ ฮตฮฝฯฮฟฮปฮฎ TCL ฮฑฯฯ ฯฮทฮฝ ฯฯ ฯฮนฮบฮฎ ฮตฮฏฯฮฟฮดฮฟ ฮฎ ฮฑฯฯ ฮญฮฝฮฑ ฮฑฯฯฮตฮฏฮฟ ฮบฮฑฮน ฮดฮฏฮฝฮตฮน ฯฮฑ ฮตฯฮนฮธฯ ฮผฮทฯฮฌ ฮฑฯฮฟฯฮตฮปฮญฯฮผฮฑฯฮฑ.
ฮ TCL ฮตฮฏฮฝฮฑฮน ฮผฮนฮฑ ฮณฮปฯฯฯฮฑ ฯฮตฮฝฮฑฯฮฏฯฮฝ ฯฮฟฯ ฮฒฮฑฯฮฏฮถฮตฯฮฑฮน ฯฮต ฯฯ ฮผฮฒฮฟฮปฮฟฯฮตฮนฯฮญฯ ฮบฮฑฮน ฮตฮฏฮฝฮฑฮน ฮตฯฮฏฯฮทฯ ฮผฮนฮฑ ฮดฮนฮฑฮดฮนฮบฮฑฯฯฮนฮบฮฎ ฮณฮปฯฯฯฮฑ. ฮฮทฮผฮนฮฟฯ ฯฮณฮฎฮธฮทฮบฮต ฮณฮนฮฑ ฯฯฯฯฮท ฯฮฟฯฮฌ ฮฑฯฯ ฯฮฟฮฝ John Osterhout ฯฮฟ 1989. ฮ ฯฮบฮฟฯฯฯ ฯฮทฯ ฮฑฮฝฮฌฯฯฯ ฮพฮทฯping ฮฯ ฯฮฎ ฮท ฮณฮปฯฯฯฮฑ ฮตฮฏฮฝฮฑฮน ฮตฯฮบฮฟฮปฮฑ ฮตฮฝฯฯฮผฮฑฯฯฮผฮญฮฝฮท ฯฮต ฮตฯฮฑฯฮผฮฟฮณฮญฯ inti(). ฮ ฮณฮปฯฯฯฮฑ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฯฯ ฮฝฮฎฮธฯฯ ฮณฮนฮฑ ฮณฯฮฑฯฮนฮบฮฌ ฯฮตฯฮนฮฒฮฌฮปฮปฮฟฮฝฯฮฑ ฯฯฮฎฯฯฮท (GUI) ฮบฮฑฮน ฮดฮฟฮบฮนฮผฮญฯ. ฮฮนฮฑ ฯฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ, ฯฮฟ rapid prototy.ping, ฮฮฟฮบฮนฮผฮญฯ ฮฑฮปฮปฮทฮปฮตฯฮฏฮดฯฮฑฯฮท ฮฒฮฌฯฮทฯ ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ ฮบ.ฮปฯ. ฮฃฯฮฟ TCL ฮฑฯฯ ฯฯฮฟฮตฯฮนฮปฮฟฮณฮฎ ฯฮปฮฑ ฮตฮฏฮฝฮฑฮน ฮผฮนฮฑ ฯฯ ฮผฮฒฮฟฮปฮฟฯฮตฮนฯฮฌ.
ฮฃฮต ฮฑฯ ฯฯ ฯฮฟ ฯฮตฮผฮนฮฝฮฌฯฮนฮฟ, ฮธฮฑ ฮผฮฌฮธฮตฯฮต-
- ฮคฮน ฮตฮฏฮฝฮฑฮน ฯฮฟ TCL
- ฮ ฯฯ ฮฝฮฑ ฮตฮบฯฮตฮปฮญฯฮตฯฮต ฯฮฟ TCL
- ฮฃฮตฮฝฮฌฯฮนฮฑ TCL
- ฮคฯฯฮฟฯ ฮฑฮฝฯฮนฮบฮฑฯฮฌฯฯฮฑฯฮทฯ TCL
- ฮฮตฯฮฑฮฒฮปฮทฯฮฎ TCL
- ฮฮบฯฯฮฑฯฮท TCL ฮบฮฑฮน OperaTor
- ฮฮปฮตฮณฯฮฟฯ ฯฮฟฮฎฯ TCL ฮบฮฑฮน ฮปฮฎฯฮท ฮฑฯฮฟฯฮฌฯฮตฯฮฝ
ฮ ฯฯ ฮฝฮฑ ฮตฮบฯฮตฮปฮญฯฮตฯฮต ฯฮฟ TCL
ฮฅฯฮฌฯฯฮฟฯ ฮฝ ฮดฯฮฟ ฯฯฯฯฮฟฮน ฮณฮนฮฑ ฮฝฮฑ ฮตฮบฯฮตฮปฮญฯฮตฯฮต ฯฮฟฮฝ ฮบฯฮดฮนฮบฮฑ TCL
- Windows ฮ ฮฒฮฑฯฮนฯฮผฮญฮฝฮท ฮตฯฮฑฯฮผฮฟฮณฮฎ ฮตฮฏฮฝฮฑฮน ฮดฮนฮฑฮธฮญฯฮนฮผฮท ฮตฮดฯ tcltutor ฮฑฯฯฮตฮฏฮฟ exe
- ฮฯฮฑฯฮผฮฟฮณฮฎ ฮฒฮฑฯฮนฯฮผฮญฮฝฮท ฯฯฮฟ Linux
In Linux ฮดฮนฮฑฮดฯฮฑฯฯฮนฮบฯ ฮดฮนฮตฯฮผฮทฮฝฮญฮฑ, ฮผฯฮฟฯฮฟฯฮผฮต ฮฝฮฑ ฮตฮบฯฮตฮปฮญฯฮฟฯ ฮผฮต ฯฮฑ ฯฮตฮฝฮฌฯฮนฮฑ TCL ฯฯฯฯ ฯฮฑฯฮฑฮบฮฌฯฯ
ฮฮนฮฑ ฮฝฮฑ ฮฑฯฮฟฮบฯฮฎฯฮตฯฮต ฯฯฯฯฮฒฮฑฯฮท ฯฯฮท ฮดฮนฮฑฮดฯฮฑฯฯฮนฮบฮฎ ฯฯ ฮฝฮตฮดฯฮฏฮฑ TCL, ฮตฮบฯฮตฮปฮญฯฯฮต ฯฮทฮฝ ฮฑฮบฯฮปฮฟฯ ฮธฮท ฮตฮฝฯฮฟฮปฮฎ
ฮฃฮตฮฝฮฌฯฮนฮฑ TCL
ฮคฮฟ ฯฯฯฮณฯฮฑฮผฮผฮฑ TCL ฮธฮฑ ฯฯฮญฯฮตฮน ฮฝฮฑ ฮญฯฮตฮน ฮตฯฮญฮบฯฮฑฯฮท .tcl. ฮฮฌฮธฮต ฯฮตฮฝฮฌฯฮนฮฟ ฯฯฮฟ UNIX/LINUX ฮพฮตฮบฮนฮฝฮฌ ฮผฮต ฯฮท ฮดฮนฮฑฮดฯฮฟฮผฮฎ ฯฮปฮฟฮนฮฟฯ TCL
#!/usr/bin/tclsh
ฮ ฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ:-
#!/usr/bin/tclsh Puts "Hello World" Script execution:- $ chmod +x helloworld.tcl $ ./helloworld.tcl
ฮ ฮฑฯฮฑฮณฯฮณฮฎ: ฮฮตฮนฮฌ ฯฮฟฯ ฮฯฯฮผฮต
ฮฃฯฮฟ TCL, ฮท ฮตฮฝฯฮฟฮปฮฎ "Puts" ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฮณฮนฮฑ ฯฮทฮฝ ฮตฮบฯฯฯฯฯฮท ฮผฮทฮฝฯ ฮผฮฌฯฯฮฝ ฯฯฮทฮฝ ฮบฮฟฮฝฯฯฮปฮฑ. ฮ ฯฯฮฝฯฮฑฮพฮท ฯฯฮฝ ฮธฮญฯฮตฯฮฝ ฮตฮฏฮฝฮฑฮน ฯฮฑฯฮฑฮบฮฌฯฯ
ฮฒฮฌฮถฮตฮน;-nonewline; ?channelId? ฯฮตฮนฯฮฌ
- ฮฮญฮฑ ฮณฯฮฑฮผฮผฮฎ: ฮฯ ฯฮฎ ฮท ฯฯฮฟฮฑฮนฯฮตฯฮนฮบฮฎ ฯฮฑฯฮฌฮผฮตฯฯฮฟฯ ฮบฮฑฯฮฑฯฯฮญฮปฮปฮตฮน ฯฮฟฮฝ ฯฮฑฯฮฑฮบฯฮฎฯฮฑ ฮฝฮญฮฑฯ ฮณฯฮฑฮผฮผฮฎฯ ฮฑฯฯ ฯฯฮฟฮตฯฮนฮปฮตฮณฮผฮญฮฝฮท ฮตฮฝฯฮฟฮปฮฎ. ฮฮฌฮถฮตฮน ฮผฮนฮฑ ฮฝฮญฮฑ ฮณฯฮฑฮผฮผฮฎ ฯฮต ฮบฮฌฮธฮต ฯฯ ฮผฮฒฮฟฮปฮฟฯฮตฮนฯฮฌ
- Channelid: ฮฯ ฯฮฎ ฮท ฯฮฑฯฮฌฮผฮตฯฯฮฟฯ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฮณฮนฮฑ ฯฯ ฯฮนฮบฯ ฮบฮฑฮฝฮฌฮปฮน ฮตฮนฯฯฮดฮฟฯ (stdin) ฮบฮฑฮน ฯฯ ฯฮนฮบฯ ฮบฮฑฮฝฮฌฮปฮน ฮตฮพฯฮดฮฟฯ (stdout).
ฮ ฯฯฮทฮฝ:-
%puts "Hello World" % Hello World %puts stdout "Hello World" % Hello World
ฮคฯฯฮฟฯ ฮฑฮฝฯฮนฮบฮฑฯฮฌฯฯฮฑฯฮทฯ TCL
ฮฅฯฮฌฯฯฮฟฯ ฮฝ ฯฯฮฏฮฑ ฮตฮฏฮดฮท ฮฑฮฝฯฮนฮบฮฑฯฮฑฯฯฮฌฯฮตฯฮฝ ฯฯฮฟ TCL
- ฮฮฝฯฮนฮบฮฑฯฮฌฯฯฮฑฯฮท ฮตฮฝฯฮฟฮปฯฮฝ
- ฮฮตฯฮฑฮฒฮปฮทฯฮฎ ฮฑฮฝฯฮนฮบฮฑฯฮฌฯฯฮฑฯฮท
- ฮฮฝฯฮนฮบฮฑฯฮฌฯฯฮฑฯฮท ฮฑฮฝฮฌฯฯฯฮฟฯฮทฯ ฮบฮฌฮธฮตฯฮฟฯ
ฮฯ ฮผฮตฮปฮตฯฮฎฯฮฟฯ ฮผฮต ฮญฮฝฮฑ ฯฯฮฟฯ ฮญฮฝฮฑ
ฮฮฝฯฮนฮบฮฑฯฮฌฯฯฮฑฯฮท ฮตฮฝฯฮฟฮปฯฮฝ
ฮฮน ฮฑฮณฮบฯฮปฮตฯ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮฟฯฮฝฯฮฑฮน ฮณฮนฮฑ ฯฮทฮฝ ฮฑฮฝฯฮนฮบฮฑฯฮฌฯฯฮฑฯฮท ฮตฮฝฯฮฟฮปฯฮฝ.
ฮ ฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ:-
% puts [expr 1*3] % 3
ฮฮดฯ ฮฑฮพฮนฮฟฮปฮฟฮณฮตฮฏฯฮฑฮน ฯฯฯฯฮฑ ฮท ฮตฮฝฯฮฟฮปฮฎ ฮผฮตฯฮฑฮพฯ ฯฯฮฝ ฮฑฮณฮบฯฮปฯฮฝ. ฮคฮฑ ฮฑฯฮฟฯฮตฮปฮญฯฮผฮฑฯฮฑ ฮตฯฮนฯฯฯฮญฯฮฟฮฝฯฮฑฮน "expr" ฯฮฟฯ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฮณฮนฮฑ ฯฮทฮฝ ฮตฮบฯฮญฮปฮตฯฮท ฯฮฟฯ ฮฑฯฮนฮธฮผฮทฯฮนฮบฮฟฯ ฯ ฯฮฟฮปฮฟฮณฮนฯฮผฮฟฯ.
ฮฮตฯฮฑฮฒฮปฮทฯฮฎ ฮฑฮฝฯฮนฮบฮฑฯฮฌฯฯฮฑฯฮท
ฮคฮฟ TCL ฮตฮบฯฮตฮปฮตฮฏ ฮผฮตฯฮฑฮฒฮปฮทฯฮฎ ฯ ฯฮฟฮบฮฑฯฮฌฯฯฮฑฯฮท ฮผฮต ฯฮท ฮฒฮฟฮฎฮธฮตฮนฮฑ ฯฮฟฯ $ ฯฮทฮผฮฌฮดฮน.
ฮ ฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ:-
#!/usr/bin/tclsh set a 10 puts a puts $a
ฮฮดฯ ฮดฮทฮผฮนฮฟฯ ฯฮณฮฟฯฮผฮต ฮผฮนฮฑ ฮผฮตฯฮฑฮฒฮปฮทฯฮฎ ฯฮฟฯ ฮฟฮฝฮฟฮผฮฌฮถฮตฯฮฑฮน "a" ฮบฮฑฮน ฮฟฯฮฏฮถฮฟฯ ฮผฮต ฯฮทฮฝ ฯฮนฮผฮฎ "10" ฯฮต ฮฑฯ ฯฮฎฮฝ.
- ฮฒฮฌฮถฮตฮน ฮญฮฝฮฑ : ฮฮฑ ฮตฮบฯฯ ฯฯฯฮตฮน ฯฯ ฮผฮฒฮฟฮปฮฟฯฮตฮนฯฮฌ "a" ฮฑฮปฮปฮฌ ฯฯฮน ฯฮทฮฝ ฯฮนฮผฮฎ ฯฮฟฯ 'a' ฯฯฮทฮฝ ฮบฮฟฮฝฯฯฮปฮฑ
- puts $a : ฮฮฑ ฮตฮบฯฯ ฯฯฯฮตฮน ฯฮทฮฝ ฯฮนฮผฮฎ ฯฮฟฯ 'a' ฯฯฮทฮฝ ฮบฮฟฮฝฯฯฮปฮฑ
ฮฯ ฯฮฟ ฮตฮบฯฮตฮปฮญฯฮฟฯ ฮผฮต ฮบฮฑฮน ฮฑฯ ฯฮฟ ฮตฯฮฑฮปฮทฮธฮตฯฯฮฟฯ ฮผฮต. ฮฮฑ ฮปฮฌฮฒฮตฯฮต ฯฮทฮฝ ฮญฮพฮฟฮดฮฟ ฯฯฯฯ ฯฮฑฯฮฑฮบฮฌฯฯ.
$ ./substitution.tcl
a
10
ฮฮฝฯฮนฮบฮฑฯฮฌฯฯฮฑฯฮท ฮฑฮฝฮฌฯฯฯฮฟฯฮทฯ ฮบฮฌฮธฮตฯฮฟฯ
ฮฃฯฮฟ Tcl, ฮท ฮฑฮฝฮฌฯฯฯฮฟฯฮท ฮบฮฌฮธฮตฯฮฟฯ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฮณฮนฮฑ escaping ฮตฮนฮดฮนฮบฮฟฯฯ ฯฮฑฯฮฑฮบฯฮฎฯฮตฯ ฮบฮฑฮธฯฯ ฮบฮฑฮน ฮณฮนฮฑ ฯฮทฮฝ ฮบฮฑฯฮฑฮฝฮฟฮผฮฎ ฮผฮตฮณฮฌฮปฯฮฝ ฮตฮฝฯฮฟฮปฯฮฝ ฯฮต ฯฮฟฮปฮปฮญฯ ฮณฯฮฑฮผฮผฮญฯ. ฮฯฮฟฮนฮฟฯฮดฮฎฯฮฟฯฮต ฯฮฑฯฮฑฮบฯฮฎฯฮฑฯ ฮฑฮผฮญฯฯฯ ฮผฮตฯฮฌ ฯฮทฮฝ ฮฑฮฝฮฌฯฯฯฮฟฯฮท ฮบฮฌฮธฮตฯฮฟ ฮธฮฑ ฯฮฑฯฮฑฮผฮตฮฏฮฝฮตฮน ฯฯฯฮฏฯ ฮฑฮฝฯฮนฮบฮฑฯฮฌฯฯฮฑฯฮท. ฮฃฯฮฟ ฯฮฑฯฮฑฮบฮฌฯฯ ฯฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ, ฮผฯฮฟฯฮตฮฏฯฮต ฮฝฮฑ ฮดฮตฮฏฯฮต ฯฯฮน ฮฟ ฮตฮนฮดฮนฮบฯฯ ฯฮฑฯฮฑฮบฯฮฎฯฮฑฯ " " ฯฮฑฯฮฑฮผฮญฮฝฮตฮน ฮผฮตฯฮฌ ฯฮทฮฝ ฮฑฮฝฮฌฯฯฯฮฟฯฮท ฮบฮฌฮธฮตฯฮฟ.
ฮฯ ฯฮฟ ฮตฯฮฑฮปฮทฮธฮตฯฯฮฟฯ ฮผฮต ฮฑฯ ฯฯ ฮผฮต ฮญฮฝฮฑ ฯฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ
#!/usr/bin/tclsh puts "This is my \"car\" $ ./backslashsubstitution.tcl This is my "car"
ฮฃฮฮฮฮฮฉฮฃฮ: -ฮฮนฮฑ ฮฝฮฑ ฯฯฮฟฮปฮนฮฌฯฮตฯฮต ฮฟฯฮฟฮนฮฑฮดฮฎฯฮฟฯฮต ฯฯ ฮผฮฒฮฟฮปฮฟฯฮตฮนฯฮฌ ฯฯฮฟ TCL ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน "#". ฮฮปฮฟฮน ฮฟฮน ฯฮฑฯฮฑฮบฯฮฎฯฮตฯ ฮผฮตฯฮฌ ฯฮฟ "#" ฮฑฮณฮฝฮฟฮฟฯฮฝฯฮฑฮน ฮฑฯฯ ฯฮทฮฝ ฮตฮฝฯฮฟฮปฮฎ tclsh shell.
ฮฮตฯฮฑฮฒฮปฮทฯฮฎ TCL
ฮฮนฮฑ ฮผฮตฯฮฑฮฒฮปฮทฯฮฎ ฮตฮฏฮฝฮฑฮน ฮญฮฝฮฑ ฮฑฮฝฮฑฮณฮฝฯฯฮนฯฯฮนฮบฯ ฯฮฟฯ ฮญฯฮตฮน ฮผฮนฮฑ ฯฮนฮผฮฎ. ฮฮต ฮฌฮปฮปฮฑ ฮปฯฮณฮนฮฑ, ฮผฮนฮฑ ฮผฮตฯฮฑฮฒฮปฮทฯฮฎ ฮตฮฏฮฝฮฑฮน ฮผฮนฮฑ ฮฑฮฝฮฑฯฮฟฯฮฌ ฯฮต ฮผฮนฮฑ ฮผฮฝฮฎฮผฮท ฯ ฯฮฟฮปฮฟฮณฮนฯฯฮฎ, ฯฯฮฟฯ ฮฑฯฮฟฮธฮทฮบฮตฯฮตฯฮฑฮน ฮท ฯฮนฮผฮฎ.
ฮฮน ฮผฮตฯฮฑฮฒฮปฮทฯฮญฯ ฮดฮทฮผฮนฮฟฯ ฯฮณฮฟฯฮฝฯฮฑฮน ฮผฮต ฯฮทฮฝ "ฮตฮฝฯฮฟฮปฮฎ set" ฮบฮฑฮน ฯฮปฮฑ ฯฮฑ ฮฟฮฝฯฮผฮฑฯฮฑ ฮผฮตฯฮฑฮฒฮปฮทฯฯฮฝ ฮบฮฌฮฝฮฟฯ ฮฝ ฮดฮนฮฌฮบฯฮนฯฮท ฯฮตฮถฯฮฝ-ฮบฮตฯฮฑฮปฮฑฮฏฯฮฝ. ฮฃฮทฮผฮฑฮฏฮฝฮตฮน ฮณฮตฮนฮฑ, ฮฮตฮนฮฑ, ฮฮตฮนฮฑ ฯฮฑฯ, ฯฮปฮฑ ฮตฮฏฮฝฮฑฮน ฮดฮนฮฑฯฮฟฯฮตฯฮนฮบฮฌ ฯฯฮฟ TCL. ฮฮตฮฏฯฮต ฮบฮฌฯฮฟฮนฮฟ ฯฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ ฮณฮนฮฑ ฮผฮตฯฮฑฮฒฮปฮทฯฮฎ ฮผฮต ฮดฮนฮฌฮบฯฮนฯฮท ฯฮตฮถฯฮฝ-ฮบฮตฯฮฑฮปฮฑฮฏฯฮฝ.
% set name Techoit % set Name Technoit_1 % set NAME Technoit_2
ฮ ฮฑฯฮฑฮณฯฮณฮฎ:-
% puts $name % Technoit %puts $Name %Technoit_1 %puts $NAME %Technoit_2
ฮฮทฮผฮนฮฟฯ ฯฮณฮฏฮฑ ฮผฮตฯฮฑฮฒฮปฮทฯฯฮฝ TCL
ฮฮนฮฑ ฮฝฮฑ ฮดฮทฮผฮนฮฟฯ ฯฮณฮฎฯฮตฯฮต ฮผฮตฯฮฑฮฒฮปฮทฯฮญฯ ฯฯฮฟ TCL, ฯฯฮญฯฮตฮน ฮฝฮฑ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮฎฯฮตฯฮต "ฯฮตฮนฯฮฌ" ฮตฮฝฯฮฟฮปฮฎ
ฮฯฮฏฯฯฮต ฮญฮฝฮฑ 10
ฮฮนฮฑ ฮฝฮฑ ฮปฮฌฮฒฮตฯฮต ฯฮทฮฝ ฯฮนฮผฮฎ ฯฮทฯ ฮผฮตฯฮฑฮฒฮปฮทฯฮฎฯ ฯฯฮญฯฮตฮน ฮฝฮฑ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮฎฯฮตฯฮต ฯฮฟ ฯฯฮผฮฒฮฟฮปฮฟ "$".
% ฮฒฮฌฮปฮต $a
% 10
ฮฯฯฮน ฯฮฑฮฏฯฮฝฮฟฯ ฮผฮต ฯฮทฮฝ ฯฮนฮผฮฎ ฯฮทฯ ฮผฮตฯฮฑฮฒฮปฮทฯฮฎฯ 'a' ฯฯ 10.
ฮฅฯฮฌฯฯฮฟฯ ฮฝ ฯฮปฮทฯฮฟฯฮฟฯฮฏฮตฯ ฮตฮฝฯฮฟฮปฯฮฝ TCL
ฮ ฮตฮฝฯฮฟฮปฮฎ "set" ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฮณฮนฮฑ ฯฮท ฮดฮทฮผฮนฮฟฯ ฯฮณฮฏฮฑ ฮบฮฑฮน ฯฮทฮฝ ฮฑฮฝฮฌฮณฮฝฯฯฮท ฮผฮตฯฮฑฮฒฮปฮทฯฯฮฝ ฯฯฯฯ ฯฮฑฮฏฮฝฮตฯฮฑฮน ฯฮฑฯฮฑฯฮฌฮฝฯ. ฮ ฮตฮฝฯฮฟฮปฮฎ unset ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฮณฮนฮฑ ฯฮทฮฝ ฮบฮฑฯฮฑฯฯฯฮฟฯฮฎ ฮผฮนฮฑฯ ฮผฮตฯฮฑฮฒฮปฮทฯฮฎฯ. ฮ ฮตฮฝฯฮฟฮปฮฎ "info exists" ฮตฯฮนฯฯฯฮญฯฮตฮน 1 ฮตฮฌฮฝ ฯฮฟ varName ฯ ฯฮฌฯฯฮตฮน ฯฯ ฮผฮตฯฮฑฮฒฮปฮทฯฮฎ (ฮฎ ฯฯฮฟฮนฯฮตฮฏฮฟ ฯฮฏฮฝฮฑฮบฮฑ) ฯฯฮฟ ฯฯฮญฯฮฟฮฝ ฯฮตฯฮนฮฒฮฌฮปฮปฮฟฮฝ, ฮดฮนฮฑฯฮฟฯฮตฯฮนฮบฮฌ ฮตฯฮนฯฯฯฮญฯฮตฮน 0. (ฮดฮตฮฏฯฮต ฯฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ ฯฮฑฯฮฑฮบฮฌฯฯ).
ฮฅฯฮฌฯฯฮฟฯ ฮฝ ฮดฮนฮฌฯฮฟฯฮตฯ ฮตฮฝฯฮฟฮปฮญฯ "ฯฮปฮทฯฮฟฯฮฟฯฮฏฮตฯ" ฯฯฮฟ TCL ฯฯฯฯ "ฯฮปฮทฯฮฟฯฮฟฯฮฏฮตฯ ฯ ฯฮฌฯฯฮฟฯ ฮฝ", "ฯฯ ฮฝฮฑฯฯฮฎฯฮตฮนฯ ฯฮปฮทฯฮฟฯฮฟฯฮนฯฮฝ", "ฯฮปฮทฯฮฟฯฮฟฯฮฏฮตฯ ฮบฮฑฮธฮฟฮปฮนฮบฮญฯ" ฮบฮฑฮน ฮฟฯฯฯ ฮบฮฑฮธฮตฮพฮฎฯ. ฮฮดฯ ฮธฮฑ ฮดฮฟฯฮผฮต ฮญฮฝฮฑ ฯฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ ฯฮฟฯ ยซฯ ฯฮฌฯฯฮฟฯ ฮฝ ฯฮปฮทฯฮฟฯฮฟฯฮฏฮตฯยป.
ฮ ฯฯฮทฮฝ:-
% set a 20 % puts $a % 20 % puts [info exists a] % 1 % unset a %puts [info exists a] % 0
ฮฮนฮฑฯฮฟฯฮตฯฮนฮบฮฟฮฏ ฮฝฮฌฯฮธฮทฮบฮตฯ ฮบฮฑฮน ฮท ฯฯ ฮผฯฮตฯฮนฯฮฟฯฮฌ ฯฮฟฯ ฯ
{} -> ฮฃฮณฮฟฯ ฯฮฌ ฯฮนฯฮฌฮฝฯฮตฯ
ฮคฮฑ ฯฮณฮฟฯ ฯฮฌ ฮฌฮณฮบฮนฯฯฯฮฑ ฯฯฮฟ TCL ฮฟฮผฮฑฮดฮฟฯฮฟฮนฮฟฯฮฝ ฯฮนฯ ฮปฮญฮพฮตฮนฯ ฮผฮฑฮถฮฏ ฮณฮนฮฑ ฮฝฮฑ ฮณฮฏฮฝฮฟฯ ฮฝ ฮฟฯฮฏฯฮผฮฑฯฮฑ. ฮคฮฑ ฯฮณฮฟฯ ฯฮฌ ฮฌฮณฮบฮนฯฯฯฮฑ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮฟฯฮฝฯฮฑฮน ฮณฮนฮฑ ฯฮฟฮฝ ฮบฮฑฮธฮฟฯฮนฯฮผฯ ฮตฮฝฯฯ ฮผฯฮปฮฟฮบ ฯฮฟฯ ฮญฯฮตฮน ฮฑฮฝฮฑฮฒฮปฮทฮธฮตฮฏ โ ฮผฮต ฮฌฮปฮปฮฑ ฮปฯฮณฮนฮฑ, ฮผฯฮฟฯฮตฮฏ ฮฝฮฑ ฮตฮบฯฮตฮปฮตฯฯฮตฮฏ ฮฮฮคฮ ฯฮทฮฝ ฯ ฯฯฮปฮฟฮนฯฮท ฮตฮฝฯฮฟฮปฮฎ ฯฯฮทฮฝ ฯฯฮญฯฮฟฯ ฯฮฑ ฮณฯฮฑฮผฮผฮฎ. ฮฮน ฯฮฑฯฮฑฮบฯฮฎฯฮตฯ ฮผฮญฯฮฑ ฯฮต ฮฑฮณฮบฯฮปฮตฯ ฮผฮตฯฮฑฮฒฮนฮฒฮฌฮถฮฟฮฝฯฮฑฮน ฯฮต ฮผฮนฮฑ ฮตฮฝฯฮฟฮปฮฎ ฮฑฮบฯฮนฮฒฯฯ ฯฯฯฯ ฮณฯฮฌฯฮตฯฮฑฮน.
ฮฮตฯฮนฮบฮฌ ฯฮทฮผฮตฮฏฮฑ ฯฮฟฯ ฯฯฮญฯฮตฮน ฮฝฮฑ ฮธฯ ฮผฮฌฯฯฮต
- ฮฮตฮฝ ฮตฯฮนฯฯฮญฯฮตฯฮฑฮน ฮท ฮฑฮฝฯฮนฮบฮฑฯฮฌฯฯฮฑฯฮท ฮผฮตฯฮฑฮฒฮปฮทฯฮฎฯ ฮผฮญฯฮฑ ฯฮต ฮฑฮณฮบฯฮปฮตฯ {}
- ฮงฯฮทฯฮนฮผฮฟฯฮฟฮนฮฎฮธฮทฮบฮต ฮณฮนฮฑ ฯฮท ฮดฮทฮผฮนฮฟฯ ฯฮณฮฏฮฑ ฯฯฯฮฟฯ ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ ฮปฮฏฯฯฮฑฯ
ฮ ฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ:-
% set x 10
% puts {$x}
% $x
%set number {1 2 3 4 5} -> ฮฮดฯ ฮฟ ฮฑฯฮนฮธฮผฯฯ ฮตฮฏฮฝฮฑฮน ฮญฮฝฮฑฯ ฯฯฯฮฟฯ ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ ฮปฮฏฯฯฮฑฯ
% ฮฒฮฌฮถฮตฮน $number
% 1 2 3 4 5
[] -> ฯฮตฯฯฮฌฮณฯฮฝฮฑ ฯฮนฮดฮตฯฮฌฮบฮนฮฑ
ฮฮน ฮฑฮณฮบฯฮปฮตฯ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮฟฯฮฝฯฮฑฮน ฮณฮนฮฑ ฯฮท ฮดฮทฮผฮนฮฟฯ ฯฮณฮฏฮฑ ฮญฮฝฮธฮตฯฮทฯ ฮตฮฝฯฮฟฮปฮฎฯ. ฮฮต ฮฑฯฮปฮฌ ฮปฯฮณฮนฮฑ, ฮท ฮญฮพฮฟฮดฮฟฯ ฮผฮนฮฑฯ ฮตฮฝฯฮฟฮปฮฎฯ ฮผฮตฯฮฑฮฒฮนฮฒฮฌฯฯฮทฮบฮต ฯฯ ฯฯฮนฯฮผฮฑ ฯฮต ฮผฮนฮฑ ฮฌฮปฮปฮท ฮตฮฝฯฮฟฮปฮฎ. ฮฮน ฮฑฮณฮบฯฮปฮตฯ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮฟฯฮฝฯฮฑฮน ฮณฮนฮฑ ฯฮฟฮฝ ฮบฮฑฮธฮฟฯฮนฯฮผฯ ฮตฮฝฯฯ ฮผฯฮปฮฟฮบ ฯฮฟฯ ฮตฮบฯฮตฮปฮตฮฏฯฮฑฮน ฮ ฮกฮฮ ฯฮทฮฝ ฯ ฯฯฮปฮฟฮนฯฮท ฮตฮฝฯฮฟฮปฮฎ ฯฯฮทฮฝ ฯฯฮญฯฮฟฯ ฯฮฑ ฮณฯฮฑฮผฮผฮฎ ฮบฮฑฮน ฯฮฟ ฮฑฯฮฟฯฮญฮปฮตฯฮผฮฑ ฮฑฮฝฯฮนฮบฮฑฮธฮฏฯฯฮฑฯฮฑฮน ฯฯฮท ฮณฯฮฑฮผฮผฮฎ.
ฮ ฯ: -
% set x 10 % puts "y : [set y [set x 10]]" %y : 10 % puts "x : $x" %x : 10
() -> ฯฯฯฮฟฮณฮณฯ ฮปฮฌ ฯฮนฮดฮตฯฮฌฮบฮนฮฑ
ฮฯ ฯฮฎ ฮท ฮตฮฝฯฮฟฮปฮฎ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฮณฮนฮฑ ฯฮท ฮดฮทฮผฮนฮฟฯ ฯฮณฮฏฮฑ ฯฯฯฮฟฯ ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ ฯฮฏฮฝฮฑฮบฮฑ ฮบฮฑฮน ฮตฯฮฏฯฮทฯ ฮณฮนฮฑ ฯฮทฮฝ ฮญฮฝฮดฮตฮนฮพฮท ฯฯฮฟฯฮตฯฮฑฮนฯฯฮทฯฮฑฯ ฯฮตฮปฮตฯฯฮฎ.
% set a(1) 10 % set a(2) 20
ฮฮดฯ ฯฮฟ "a" ฮตฮฏฮฝฮฑฮน ฮญฮฝฮฑฯ ฯฮฏฮฝฮฑฮบฮฑฯ ฮผฮต ฯฮนฮผฮญฯ 10 ฮบฮฑฮน 20. ฮฮตฮฏฯฮต ฯฮฑฯฮฑฮบฮฌฯฯ ฮตฮฝฯฮฟฮปฮญฯ ฮณฮนฮฑ ฯฮทฮฝ ฮตฮบฯฯฯฯฯฮท ฯฮปฮฎฮบฯฯฯฮฝ, ฮถฮตฯฮณฮท ฯฮนฮผฯฮฝ ฮบฮปฮตฮนฮดฮนฯฮฝ ฮบฮฑฮน ฯฮนฮผฮญฯ ฯฮฏฮฝฮฑฮบฮฑ.
% puts [array get a] -> To print key value pairs we use this command % 1 10 2 20 % puts [array names a] -> To print only keys % 1 2 % puts $a(1) -> To print first value of array % 10 % puts $a(2) -> To print second value of array % 20
ฮฮนฮฑ ฯฮทฮฝ ฮตฮบฯฯฯฯฯฮท ฯฮทฯ ฯฮนฮผฮฎฯ "Nth" ฯฮฟฯ ฯฮฏฮฝฮฑฮบฮฑ a, ฮธฮฑ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮฎฯฮฟฯ ฮผฮต Puts $a(N)
ฮฯฮฏฯฮผฮฑฯฮฑ ฮณฯฮฑฮผฮผฮฎฯ ฮตฮฝฯฮฟฮปฯฮฝ TCL
ฮคฮฑ ฯฯฮฟฮนฯฮตฮฏฮฑ ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ ฯฮฟฯ ฮผฮตฯฮฑฮฒฮนฮฒฮฌฮถฮฟฮฝฯฮฑฮน ฯฮต ฮญฮฝฮฑ ฯฮตฮฝฮฌฯฮนฮฟ ฮฑฯฯ ฯฮท ฮณฯฮฑฮผฮผฮฎ ฮตฮฝฯฮฟฮปฯฮฝ ฮตฮฏฮฝฮฑฮน ฮณฮฝฯฯฯฮฌ ฯฯ ฮฟฯฮฏฯฮผฮฑฯฮฑ. ฮ ฮฑฯฮนฮธฮผฯฯ ฯฯฮฝ ฮฟฯฮนฯฮผฮฌฯฯฮฝ ฯฮทฯ ฮณฯฮฑฮผฮผฮฎฯ ฮตฮฝฯฮฟฮปฯฮฝ ฯฮต ฮญฮฝฮฑ ฯฮตฮฝฮฌฯฮนฮฟ Tcl ฮผฮตฯฮฑฮฒฮนฮฒฮฌฮถฮตฯฮฑฮน ฯฯ ฮบฮฑฮธฮฟฮปฮนฮบฮฎ ฮผฮตฯฮฑฮฒฮปฮทฯฮฎ argc . ฮคฮฟ ฯฮฝฮฟฮผฮฑ ฮตฮฝฯฯ ฯฮตฮฝฮฑฯฮฏฮฟฯ Tcl ฮผฮตฯฮฑฮฒฮนฮฒฮฌฮถฮตฯฮฑฮน ฯฯฮฟ ฯฮตฮฝฮฌฯฮนฮฟ ฯฯ ฮบฮฑฮธฮฟฮปฮนฮบฮฎ ฮผฮตฯฮฑฮฒฮปฮทฯฮฎ argv0 , ฮบฮฑฮน ฯฮฑ ฯ ฯฯฮปฮฟฮนฯฮฑ ฮฟฯฮฏฯฮผฮฑฯฮฑ ฯฮทฯ ฮณฯฮฑฮผฮผฮฎฯ ฮตฮฝฯฮฟฮปฯฮฝ ฮผฮตฯฮฑฮฒฮนฮฒฮฌฮถฮฟฮฝฯฮฑฮน ฯฯ ฮปฮฏฯฯฮฑ argv.
ฮคฮฟ TCL ฮญฯฮตฮน 3 ฯฯฮฟฮบฮฑฮธฮฟฯฮนฯฮผฮญฮฝฮตฯ ฮผฮตฯฮฑฮฒฮปฮทฯฮญฯ ฯฯฯฯ ฯ.ฯ
$argc -> indicates the number of arguments passed to the script $argv -> indicates list of arguments $argv0 -> indicates the name of script
ฮ ฯฯฮทฮฝ:-
arg-script.tcl #!/usr/bin/tclsh< puts "number of arguments passed to the scripts : $argc" puts "list of arguments are passed to the script: $argv" puts "the name of scripts is: $argv0"
$ ./arg-script.tcl 10 20 30
ฯฮฑฯฮฑฮณฯฮณฮฎ:-
- ฮฯฮนฮธฮผฯฯ ฮฟฯฮนฯฮผฮฌฯฯฮฝ ฯฮฟฯ ฮผฮตฯฮฑฮฒฮนฮฒฮฌฯฯฮทฮบฮฑฮฝ ฯฯฮฑ ฯฮตฮฝฮฌฯฮนฮฑ: 3
- ฮ ฮปฮฏฯฯฮฑ ฮฟฯฮนฯฮผฮฌฯฯฮฝ ฮผฮตฯฮฑฮฒฮนฮฒฮฌฮถฮตฯฮฑฮน ฯฯฮฟ ฯฮตฮฝฮฌฯฮนฮฟ: 10 20 30
- ฮคฮฟ ฯฮฝฮฟฮผฮฑ ฯฮฟฯ ฯฮตฮฝฮฑฯฮฏฮฟฯ ฮตฮฏฮฝฮฑฮน: arg-script.tcl
ฮฮบฯฯฮฑฯฮท TCL ฮบฮฑฮน OperaTor
ฮ ฮญฮบฯฯฮฑฯฮท ฮบฮฑฯฮฑฯฮบฮตฯ ฮฌฮถฮตฯฮฑฮน ฮฑฯฯ ฯฮตฮปฮตฯฯฮญฯ ฮบฮฑฮน ฯฮตฮปฮตฯฯฮญฯ. ฮฮพฮนฮฟฮปฮฟฮณฮตฮฏฯฮฑฮน ฮผฮต ฯฮทฮฝ ฮตฮฝฯฮฟฮปฮฎ "expr". Operaฮฮน tors ฮฑฮพฮนฮฟฮปฮฟฮณฮฟฯฮฝฯฮฑฮน ฮผฮต ฮฒฮฌฯฮท ฯฮทฮฝ ฯฯฮฟฯฮตฯฮฑฮนฯฯฮทฯฮฑ ฮบฮฑฮน ฯฮท ฯฯ ฯฯฮญฯฮนฯฮท. ฮ ฮณฮปฯฯฯฮฑ TCL ฮญฯฮตฮน ฮตฮฝฯฯฮผฮฑฯฯฮผฮญฮฝฮฟฯ ฯ ฯฮตฮปฮตฯฯฮญฯ ฯฯฯฯ ฯฮฑฯฮฑฮบฮฌฯฯ
| Operator ฮฮฑฯฮทฮณฮฟฯฮฏฮฑ | ฮฃฯฮผฮฒฮฟฮปฮฟ | ฮ ฯฮฟฯฮตฯฮฑฮนฯฯฮทฯฮฑ/ฮฃฯ ฮฝฮดฮตฯฮนฮผฯฯฮทฯฮฑ |
|---|---|---|
| ฮฯฮนฮธฮผฮทฯฮนฮบฮฎ OperaTor | + - * / % | ฮฯฯ ฮฑฯฮนฯฯฮตฯฮฌ ฯฯฮฟฯ ฯฮฑ ฮดฮตฮพฮนฮฌ |
| ฮฃฯฮตฯฮนฮบฯฯ OperaTor | == != < > <= >= | ฮฯฯ ฮฑฯฮนฯฯฮตฯฮฌ ฯฯฮฟฯ ฯฮฑ ฮดฮตฮพฮนฮฌ |
| ฮปฮฟฮณฮนฮบฯฯ OperaTor | && || ! | ฮฯฯ ฮฑฯฮนฯฯฮตฯฮฌ ฯฯฮฟฯ ฯฮฑ ฮดฮตฮพฮนฮฌ |
| Bitwise OperaTor | & | ^ ~ | ฮฯฯ ฮฑฯฮนฯฯฮตฯฮฌ ฯฯฮฟฯ ฯฮฑ ฮดฮตฮพฮนฮฌ |
| ฮคฯฮนฮฑฮดฮนฮบฯฯ OperaTor | ?: | ฮฮตฮพฮนฮฌ ฯฯฮฟฯ ฯฮฑ ฮฑฯฮนฯฯฮตฯฮฌ |
| Shift OperaTor | << >> | ฮฯฯ ฮฑฯฮนฯฯฮตฯฮฌ ฯฯฮฟฯ ฯฮฑ ฮดฮตฮพฮนฮฌ |
| ฮฃฯฮณฮบฯฮนฯฮท ฯฮฟฯฮดฯฮฝ OperaTor | eq ne | ฮฯฯ ฮฑฯฮนฯฯฮตฯฮฌ ฯฯฮฟฯ ฯฮฑ ฮดฮตฮพฮนฮฌ |
| ฮฯฮญฮบฯฮฑฯฮท OperaTor | ** | ฮฯฯ ฮฑฯฮนฯฯฮตฯฮฌ ฯฯฮฟฯ ฯฮฑ ฮดฮตฮพฮนฮฌ |
| ฮฮนฯฯฮฑ OperaTor | ฮฃฯฮฟ ฮฝฮน | ฮฯฯ ฮฑฯฮนฯฯฮตฯฮฌ ฯฯฮฟฯ ฯฮฑ ฮดฮตฮพฮนฮฌ |
ฮฯฮนฮธฮผฮทฯฮนฮบฮฎ OperaTor
ฮฮนฮฑ ฮญฮบฯฯฮฑฯฮท TCL ฮฑฯฮฟฯฮตฮปฮตฮฏฯฮฑฮน ฮฑฯฯ ฮญฮฝฮฑฮฝ ฯฯ ฮฝฮดฯ ฮฑฯฮผฯ ฯฮตฮปฮตฯฯฯฮฝ, ฯฮตฮปฮตฯฯฯฮฝ ฮบฮฑฮน ฯฮฑฯฮตฮฝฮธฮญฯฮตฯฮฝ. ฮฯ ฮดฮฟฯฮผฮต ฯฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ ฮฑฯฮนฮธฮผฮทฯฮนฮบฯฮฝ ฯฮตฮปฮตฯฯฯฮฝ ฯฯฮฟ TCL
+ ฮ ฯฮฟฯฮธฮญฯฯฮต ฮดฯฮฟ ฮฎ ฯฮตฯฮนฯฯฯฯฮตฯฮฟฯ ฯ ฯฮตฮปฮตฯฯฮญฯ
ฮ ฯฯฮทฮฝ:-
%set a 10 %set b 20 %puts [expr $a + $b] 30
- ฮฅฯฮฟฯฯฮฝฮฟฮปฮฟtracts ฮดฯฮฟ ฮฎ ฯฮตฯฮนฯฯฯฯฮตฯฮฟฮน ฯฮตฮปฮตฯฯฮญฮฟฮน
ฮ ฯฯฮทฮฝ:-
%set a 20 %set b 10 %puts [expr $a - $b] 10
*ฮ ฮฟฮปฮปฮฑฯฮปฮฑฯฮนฮฌฯฯฮต ฮดฯฮฟ ฮฎ ฯฮตฯฮนฯฯฯฯฮตฯฮฟฯ ฯ ฯฮตฮปฮตฯฯฮญฯ
%set a 20 %set b 10 %puts [expr $a * $b] 200
/ ฮฮนฮฑฮนฯฮญฯฯฮต ฯฮฟฮฝ ฮฑฯฮนฮธฮผฮทฯฮฎ ฮผฮต ฯฮฟฮฝ ฮฑฯฮนฮธฮผฮทฯฮฎ
%set a 20 %set b 10 %puts [expr $a / $b] 2
ฮ ฯฮตฮปฮตฯฯฮฎฯ % Modulus ฮดฮนฮฑฮนฯฮตฮฏ ฯฮฟฮฝ ฮฑฯฮนฮธฮผฮทฯฮฎ ฮผฮต ฯฮฟฮฝ ฮฑฯฮฟฮฑฯฮนฮธฮผฮทฯฮฎ ฮฑฮปฮปฮฌ ฮตฯฮนฯฯฯฮญฯฮตฮน ฯ ฯฮตฮฝฮธฯฮผฮนฯฮท
%set a 20 %set b 10 %puts [expr $a % $b] 0
ฮฃฯฮตฯฮนฮบฯฯ OperaTor
ฮฮปฮญฮณฯฮตฮน ฮตฮฌฮฝ ฮท ฯฮนฮผฮฎ ฯฮฟฯ ฮฑฯฮนฯฯฮตฯฮฟฯ ฯฮตฮปฮตฯฯฮญฮฟฯ ฮตฮฏฮฝฮฑฮน ฮผฮตฮณฮฑฮปฯฯฮตฯฮท ฮฑฯฯ ฯฮทฮฝ ฯฮนฮผฮฎ ฯฮฟฯ ฮดฮตฮพฮนฮฟฯ ฯฮตฮปฮตฯฯฮญฮฟฯ . ฮฮฌฮฝ ฮฝฮฑฮน, ฯฯฯฮต ฮท ฯฯ ฮฝฮธฮฎฮบฮท ฮณฮฏฮฝฮตฯฮฑฮน ฮฑฮปฮทฮธฮฎฯ ฮบฮฑฮน ฮตฯฮนฯฯฯฮญฯฮตฮน 1, ฮฑฮปฮปฮนฯฯ ฮตฯฮนฯฯฯฮญฯฮตฮน 0.
%set a 20 %set b 10 %puts [expr $a > $b] 1
ฮฮปฮญฮณฮพฯฮต ฮตฮฌฮฝ ฮท ฯฮนฮผฮฎ ฯฮฟฯ ฮฑฯฮนฯฯฮตฯฮฟฯ ฯฮตฮปฮตฯฯฮฎ ฮตฮฏฮฝฮฑฮน ฮผฮนฮบฯฯฯฮตฯฮท ฮฑฯฯ ฯฮทฮฝ ฯฮนฮผฮฎ ฯฮฟฯ ฮดฮตฮพฮนฮฟฯ ฯฮตฮปฮตฯฯฮฎ. ฮฮฌฮฝ ฮฝฮฑฮน, ฯฯฯฮต ฮท ฯฯ ฮฝฮธฮฎฮบฮท ฮณฮฏฮฝฮตฯฮฑฮน ฮฑฮปฮทฮธฮฎฯ ฮบฮฑฮน ฮตฯฮนฯฯฯฮญฯฮตฮน 1, ฮฑฮปฮปฮนฯฯ ฮตฯฮนฯฯฯฮญฯฮตฮน 0
%set a 10 %set b 20 %puts [expr $a < $b] 1
>= ฮฮปฮญฮณฯฮตฮน ฮตฮฌฮฝ ฮท ฯฮนฮผฮฎ ฯฮฟฯ ฮฑฯฮนฯฯฮตฯฮฟฯ ฯฮตฮปฮตฯฯฮฎ ฮตฮฏฮฝฮฑฮน ฮผฮตฮณฮฑฮปฯฯฮตฯฮท ฮฎ ฮฏฯฮท ฮผฮต ฯฮทฮฝ ฯฮนฮผฮฎ ฯฮฟฯ ฮดฮตฮพฮนฮฟฯ ฯฮตฮปฮตฯฯฮฎ, ฮตฮฌฮฝ ฮฝฮฑฮน, ฯฯฯฮต ฮท ฯฯ ฮฝฮธฮฎฮบฮท ฮณฮฏฮฝฮตฯฮฑฮน ฮฑฮปฮทฮธฮฎฯ ฮบฮฑฮน ฮตฯฮนฯฯฯฮญฯฮตฮน 1, ฮฑฮปฮปฮนฯฯ ฮตฯฮนฯฯฯฮญฯฮตฮน 0
%set a 20 %set b 10 %puts [expr $a >= $b] 1
<= ฮฮปฮญฮณฯฮตฮน ฮตฮฌฮฝ ฮท ฯฮนฮผฮฎ ฯฮฟฯ ฮฑฯฮนฯฯฮตฯฮฟฯ ฯฮตฮปฮตฯฯฮฎ ฮตฮฏฮฝฮฑฮน ฮผฮนฮบฯฯฯฮตฯฮท ฮฎ ฮฏฯฮท ฮผฮต ฯฮทฮฝ ฯฮนฮผฮฎ ฯฮฟฯ ฮดฮตฮพฮนฮฟฯ ฯฮตฮปฮตฯฯฮฎ, ฮตฮฌฮฝ ฮฝฮฑฮน, ฯฯฯฮต ฮท ฯฯ ฮฝฮธฮฎฮบฮท ฮณฮฏฮฝฮตฯฮฑฮน ฮฑฮปฮทฮธฮฎฯ ฮบฮฑฮน ฮตฯฮนฯฯฯฮญฯฮตฮน 1, ฮฑฮปฮปฮนฯฯ, ฮตฯฮนฯฯฯฮญฯฮตฮน 0
%set a 20 %set b 10 %puts [expr $a <= $b] 0
!= ฮฮปฮญฮณฯฮตฮน ฮฑฮฝ ฮฟฮน ฯฮนฮผฮญฯ ฮดฯฮฟ ฯฮตฮปฮตฯฯฯฮฝ ฮตฮฏฮฝฮฑฮน ฮฏฯฮตฯ ฮฎ ฯฯฮน, ฮฑฮฝ ฮฟฮน ฯฮนฮผฮญฯ ฮดฮตฮฝ ฮตฮฏฮฝฮฑฮน ฮฏฯฮตฯ ฯฯฯฮต ฮท ฯฯ ฮฝฮธฮฎฮบฮท ฮณฮฏฮฝฮตฯฮฑฮน ฮฑฮปฮทฮธฮฎฯ ฮบฮฑฮน ฮตฯฮนฯฯฯฮญฯฮตฮน 1 ฮฑฮปฮปฮนฯฯ ฮตฯฮนฯฯฯฮญฯฮตฮน 0
%set a 20 %set b 10 %puts [expr $a != $b] 1
== ฮฮปฮญฮณฯฮตฮน ฮฑฮฝ ฮฟฮน ฯฮนฮผฮญฯ ฮดฯฮฟ ฯฮตฮปฮตฯฯฯฮฝ ฮตฮฏฮฝฮฑฮน ฮฏฯฮตฯ ฮฎ ฯฯฮน, ฮฑฮฝ ฮฝฮฑฮน, ฯฯฯฮต ฮท ฯฯ ฮฝฮธฮฎฮบฮท ฮณฮฏฮฝฮตฯฮฑฮน ฮฑฮปฮทฮธฮฎฯ ฮบฮฑฮน ฮตฯฮนฯฯฯฮญฯฮตฮน 1 ฮฑฮปฮปฮนฯฯ ฮตฯฮนฯฯฯฮญฯฮตฮน 0
%set a 20 %set b 10 %puts [expr $a == $b] 0
ฮปฮฟฮณฮนฮบฯฯ OperaTor
&& ฮฮฝ ฮบฮฑฮน ฮฟฮน ฮดฯฮฟ ฯฮตฮปฮตฯฯฮญฯ ฮตฮฏฮฝฮฑฮน ฮผฮท ฮผฮทฮดฮตฮฝฮนฮบฮฟฮฏ, ฯฯฯฮต ฮท ฯฯ ฮฝฮธฮฎฮบฮท ฮณฮฏฮฝฮตฯฮฑฮน ฮฑฮปฮทฮธฮฎฯ ฮบฮฑฮน ฮตฯฮนฯฯฯฮญฯฮตฮน 1 ฮฑฮปฮปฮนฯฯ ฮตฯฮนฯฯฯฮญฯฮตฮน 0
%set a 20 %set b 10 %puts [expr $a && $b] 1
|| ฮฮฌฮฝ ฮฟฯฮฟฮนฮฟฯฮดฮฎฯฮฟฯฮต ฮฑฯฯ ฯฮฟฯ ฯ ฮดฯฮฟ ฯฮตฮปฮตฯฯฮญฯ ฮตฮฏฮฝฮฑฮน ฮผฮท ฮผฮทฮดฮตฮฝฮนฮบฯฯ, ฯฯฯฮต ฮท ฯฯ ฮฝฮธฮฎฮบฮท ฮณฮฏฮฝฮตฯฮฑฮน ฮฑฮปฮทฮธฮฎฯ ฮบฮฑฮน ฮตฯฮนฯฯฯฮญฯฮตฮน 1 ฮฑฮปฮปฮนฯฯ ฮตฯฮนฯฯฯฮญฯฮตฮน 0
%set a 0 %set b 10 %puts [expr $a || $b] 1
! ฮงฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฮณฮนฮฑ ฯฮทฮฝ ฮฑฮฝฯฮนฯฯฯฮฟฯฮฎ ฯฮฟฯ ฮฑฯฮฟฯฮตฮปฮญฯฮผฮฑฯฮฟฯ ฮฟฯฮฟฮนฮฑฯฮดฮฎฯฮฟฯฮต ฮญฮบฯฯฮฑฯฮทฯ. ฮฮดฯ ฯฯฮทฮฝ ฮญฮพฮฟฮดฮฟ, ฮผฯฮฟฯฮตฮฏฯฮต ฮฝฮฑ ฮดฮตฮฏฯฮต ฯฯฮน ฮท ฯฮนฮผฮฎ ฯฮฟฯ 'a' ฮญฯฮตฮน ฮณฮฏฮฝฮตฮน ฯฮปฮญฮฟฮฝ 1 ฮฑฯฯ 0. ฮฮฝฯ ฮท ฯฮนฮผฮฎ ฯฮฟฯ 'b' ฮญฯฮตฮน ฮณฮฏฮฝฮตฮน 0 ฮฑฯฯ 1.
%set a 0 %set b 1 %puts [expr !$a] 1 %puts [expr !$b] 0
Bitwise OperaTor
& (ฮบฮฑฯฮฌ bit ฮบฮฑฮน) ฮตฮบฯฮตฮปฮญฯฯฮต ฯฮท ฮปฮตฮนฯฮฟฯ ฯฮณฮฏฮฑ bit-bit ฮบฮฑฮน ฮฑฮบฮฟฮปฮฟฯ ฮธฮฎฯฯฮต ฯฮฟฮฝ ฯฮฑฯฮฑฮบฮฌฯฯ ฯฮฏฮฝฮฑฮบฮฑ ฮณฮนฮฑ ฯฮท ฮปฮตฮนฯฮฟฯ ฯฮณฮฏฮฑ.
| A | B | ฮ & ฮ |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 1 | 1 |
| 1 | 0 | 0 |
ฮ ฯฯฮทฮฝ:-
%set A 10 %set B 20 Follow the sequence to convert decimal to binary number 128 64 32 16 8 4 2 1 10 binary equivalents will be 128 64 32 16 8 4 2 1 ร 0 0 0 0 1 0 1 0 20 binary equivalents will be 128 64 32 16 8 4 2 1 ร 0 0 0 1 0 1 0 0 So now as per above tabular rules A & B will be 0 0 0 0 0 0 0 0
| (bitwise ฮฎ) ฮตฮบฯฮตฮปฮญฯฯฮต ฯฮท ฮปฮตฮนฯฮฟฯ ฯฮณฮฏฮฑ bit-bit ฮบฮฑฮน ฮฑฮบฮฟฮปฮฟฯ ฮธฮฎฯฯฮต ฯฮฟฮฝ ฯฮฑฯฮฑฮบฮฌฯฯ ฯฮฏฮฝฮฑฮบฮฑ
| A | B | A | ฯฮน |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 1 | 1 |
| 1 | 0 | 1 |
ฮ ฯฯฮทฮฝ:-
%set A 10 %set B 20 Follow the sequence to convert decimal to binary number 128 64 32 16 8 4 2 1 10 binary equivalents will be 128 64 32 16 8 4 2 1 ร 0 0 0 0 1 0 1 0 20 binary equivalents will be 128 64 32 16 8 4 2 1 ร 0 0 0 1 0 1 0 0 So now as per above tabular rules A | B will be 0 0 0 1 1 1 1 0
^ (ฮฑฯฮฟฮบฮปฮตฮนฯฯฮนฮบฮฌ ฮบฮฑฯฮฌ bit ฮฎ) ฮตฮบฯฮตฮปฮญฯฯฮต ฯฮท ฮปฮตฮนฯฮฟฯ ฯฮณฮฏฮฑ bit-bit ฮบฮฑฮน ฮฑฮบฮฟฮปฮฟฯ ฮธฮฎฯฯฮต ฯฮฟฮฝ ฯฮฑฯฮฑฮบฮฌฯฯ ฯฮฏฮฝฮฑฮบฮฑ
| A | B | ฮ ^ ฮ |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 1 | 0 |
| 1 | 0 | 1 |
ฮ ฯฯฮทฮฝ:-
%set A 10 %set B 20 Follow the sequence to convert decimal to binary number 128 64 32 16 8 4 2 1 10 binary equivalents will be 128 64 32 16 8 4 2 1 ร 0 0 0 0 1 0 1 0 20 binary equivalents will be 128 64 32 16 8 4 2 1 ร 0 0 0 1 0 1 0 0 So now as per above tabular rules A ^ B will be 0 0 0 1 1 1 1 0 ร 30
ฮ ฯฮตฮปฮตฯฯฮฎฯ ~ (ฮฌฯฮฝฮทฯฮท bitwise) ฮฑฮปฮปฮฌฮถฮตฮน ฮบฮฌฮธฮต 1 ฯฮต 0 ฮบฮฑฮน 0 ฯฮต 1, ฮฑฮบฮฟฮปฮฟฯ ฮธฮฎฯฯฮต ฯฮฟฮฝ ฯฮฏฮฝฮฑฮบฮฑ ฯฯ ฮฑฮฝฮฑฯฮฟฯฮฌ
| A | ~A |
|---|---|
| 0 | 1 |
| 1 | 0 |
%set A 7 %puts [expr ~$A] -8
ฮคฯฮนฮฑฮดฮนฮบฯฯ Operator (?:)
ฮ ฯฯฮฝฯฮฑฮพฮท ฮตฮฏฮฝฮฑฮน
condition-expression? expression_1: expression_2
ฮฮฌฮฝ ฮท ฯฯ ฮฝฮธฮฎฮบฮท-exp ฮตฮฏฮฝฮฑฮน ฮฑฮปฮทฮธฮฎฯ, ฯฮฟ exp1 ฮฑฮพฮนฮฟฮปฮฟฮณฮตฮฏฯฮฑฮน ฮบฮฑฮน ฯฮฟ ฮฑฯฮฟฯฮญฮปฮตฯฮผฮฑ ฮตฯฮนฯฯฯฮญฯฮตฯฮฑฮน. ฮฮฌฮฝ ฯฮฟ cond-exp ฮตฮฏฮฝฮฑฮน false, ฯฮฟ exp2 ฮฑฮพฮนฮฟฮปฮฟฮณฮตฮฏฯฮฑฮน ฮบฮฑฮน ฯฮฟ ฮฑฯฮฟฯฮญฮปฮตฯฮผฮฌ ฯฮฟฯ ฮตฯฮนฯฯฯฮญฯฮตฯฮฑฮน. ฮฃฯฮฟ ฯฮฑฯฮฌฮดฮตฮนฮณฮผฮฌ ฮผฮฑฯ, ฯฮฟ exp1 ฮตฮฏฮฝฮฑฮน ฮฑฮปฮทฮธฮญฯ ฮบฮฑฮธฯฯ ฮท ฯฮนฮผฮฎ ฯฮฟฯ A ฮตฮฏฮฝฮฑฮน ฮผฮตฮณฮฑฮปฯฯฮตฯฮท ฮฑฯฯ 6.
%set A 7 %set result [expr $A > 6 ? true : false] %puts $result true
Shift OperaTor
Shift ฮ ฯฮตฮปฮตฯฯฮฎฯ ฯฯ ฮผฮฒฮฟฮปฮฏฮถฮตฯฮฑฮน ฮตฮฏฯฮต ฮผฮต << ฯฮตฮปฮตฯฯฮฎ ฮฑฯฮนฯฯฮตฯฮฟฯ ฮผฮตฯฮฑฯฯฯฮนฯฮทฯ ฮฎ ฮผฮต ฯฮฟฮฝ >> ฯฮตฮปฮตฯฯฮฎ ฮดฮตฮพฮนฮฟฯ ฮผฮตฯฮฑฯฯฯฮนฯฮทฯ. ฮฮนฮฑ << ฮฑฯฮนฯฯฮตฯฯ ฯฮตฮปฮตฯฯฮฎ ฮผฮตฯฮฑฯฯฯฮนฯฮทฯ, ฮท ฯฮนฮผฮฎ ฯฯฮฝ ฮฑฯฮนฯฯฮตฯฯฮฝ ฯฮตฮปฮตฯฯฯฮฝ ฮผฮตฯฮฑฮบฮนฮฝฮตฮฏฯฮฑฮน ฮฑฯฮนฯฯฮตฯฮฌ ฮบฮฑฯฮฌ ฯฮฟฮฝ ฮฑฯฮนฮธฮผฯ ฯฯฮฝ bit ฯฮฟฯ ฮบฮฑฮธฮฟฯฮฏฮถฮตฯฮฑฮน ฮฑฯฯ ฯฮฟฮฝ ฮดฮตฮพฮนฯ ฯฮตฮปฮตฯฯฮฎ.
%set A 7 %set result [expr $A << 2] %puts $result
ฮฮนฮฑ ฯฮฟฮฝ ฯฮตฮปฮตฯฯฮฎ >> ฮดฮตฮพฮนฮฌ ฮผฮตฯฮฑฯฯฯฮนฯฮท, ฮท ฯฮนฮผฮฎ ฯฯฮฝ ฮฑฯฮนฯฯฮตฯฯฮฝ ฯฮตฮปฮตฯฯฯฮฝ ฮผฮตฯฮฑฮบฮนฮฝฮตฮฏฯฮฑฮน ฮดฮตฮพฮนฮฌ ฮบฮฑฯฮฌ ฯฮฟฮฝ ฮฑฯฮนฮธฮผฯ ฯฯฮฝ bit ฯฮฟฯ ฮบฮฑฮธฮฟฯฮฏฮถฮตฯฮฑฮน ฮฑฯฯ ฯฮฟฮฝ ฮดฮตฮพฮนฯ ฯฮตฮปฮตฯฯฮฎ.
%set A 7 %set result [expr $A >> 2] %puts $result
ฮฃฯฮณฮบฯฮนฯฮท ฯฮฟฯฮดฯฮฝ OperaTor
ฮ ฯฮตฮปฮตฯฯฮฎฯ ฯฯฮณฮบฯฮนฯฮทฯ ฯฯ ฮผฮฒฮฟฮปฮฟฯฮตฮนฯฯฮฝ ฯฯ ฮณฮบฯฮฏฮฝฮตฮน ฯฮทฮฝ ฯฮนฮผฮฎ ฮบฮฑฮน ฯฯฮฝ ฮดฯฮฟ ฯฮตฮปฮตฯฯฯฮฝ. ฮฮฌฮฝ ฮท ฯฮนฮผฮฎ ฯฮฟฯ ฯฮตฮปฮตฯฯฮฎ ฮตฮฏฮฝฮฑฮน ฮฏฮดฮนฮฑ, ฯฯฯฮต ฮธฮฑ ฮตฯฮนฯฯฯฮญฯฮตฮน 1, ฮฑฮปฮปฮนฯฯ ฮธฮฑ ฮตฯฮนฯฯฯฮญฯฮตฮน 0. ฮฃฯฮฟ ฯฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ, ฮท ฯฮนฮผฮฎ ฮบฮฑฮน ฮณฮนฮฑ ฯฮฟ A ฮบฮฑฮน ฮณฮนฮฑ ฯฮฟ B ฮตฮฏฮฝฮฑฮน 7, ฮตฯฮฟฮผฮญฮฝฯฯ ฮธฮฑ ฮญฯฮตฮน ฯฯ ฮฑฯฮฟฯฮญฮปฮตฯฮผฮฑ ฯฮทฮฝ ฮตฯฮนฯฯฯฮฟฯฮฎ 1.
ฮ ฯฯฮทฮฝ:-
%set A 7 %set B 7 %set result [expr $A eq $B] %puts $result 1
Ne (ฮฑฮฝ ฮท ฯฮนฮผฮฎ ฮบฮฑฮน ฯฯฮฝ ฮดฯฮฟ ฯฮตฮปฮตฯฯฯฮฝ ฮตฮฏฮฝฮฑฮน ฮดฮนฮฑฯฮฟฯฮตฯฮนฮบฮฎ, ฯฯฯฮต ฮธฮฑ ฮตฯฮนฯฯฯฮญฯฮตฮน 1, ฮฑฮปฮปฮนฯฯ 0)
%set A 7 %set B 8 %set result [expr $A ne $B] %puts $result 1
ฮงฮตฮนฯฮนฯฯฮฎฯ ฮตฮบฮธฮญฯฮตฯฯ
ฮคฮฟ Pow () ฮบฮฑฮน ฯฮฟ ** ฮตฮฏฮฝฮฑฮน ฮบฮฑฮน ฯฮฑ ฮดฯฮฟ ฮฏฮดฮนฮฑ. ฮฯฮนฯฯฯฮญฯฮตฮน ฯฮฌฮฝฯฮฑ ฮบฯ ฮผฮฑฮนฮฝฯฮผฮตฮฝฮท ฯฮนฮผฮฎ.
** ฯ ฯฮฟฮดฮตฮนฮบฮฝฯฮตฮน ฯฮทฮฝ ฮนฯฯฯ ฯฮฟฯ ฮตฯฮนฮธฯ ฮผฮทฯฮฟฯ ฯฮตฮปฮตฯฯฮฎ.
ฮ ฯฯฮทฮฝ:-
%set A 7 %set result [expr $A ** 2] %puts $result 49
ฮฮนฯฯฮฑ OperaTor
ฮฮฌฮฝ ฮท ฮฑฯฮฑฮนฯฮฟฯฮผฮตฮฝฮท ฯฮนฮผฮฎ ฮฒฯฮฏฯฮบฮตฯฮฑฮน ฯฯฮทฮฝ ฮบฮฑฮธฮฟฯฮนฯฮผฮญฮฝฮท ฮปฮฏฯฯฮฑ, ฮตฯฮนฯฯฯฮญฯฮตฮน 1 ฮบฮฑฮน ฮตฯฮนฯฯฯฮญฯฮตฮน 0. ฮฃฯฮฟ ฯฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ, ฮท ฯฮนฮผฮฎ 1 ฯ ฯฮฌฯฯฮตฮน ฯฯฮท ฮผฮตฯฮฑฮฒฮปฮทฯฮฎ 'a', ฮตฯฮฟฮผฮญฮฝฯฯ ฮธฮฑ ฮตฯฮนฯฯฯฮญฯฮตฮน 1.
set a {1 2 3}
if {1 in $a} {
puts "ok"
} else {
puts "fail"
}
Output: ok
ni, ฮฑฮฝ ฮฒฯฮตฮธฮตฮฏ ฮท ฮฑฯฮฑฮนฯฮฟฯฮผฮตฮฝฮท ฯฮนฮผฮฎ ฯฯฮทฮฝ ฮบฮฑฮธฮฟฯฮนฯฮผฮญฮฝฮท ฮปฮฏฯฯฮฑ, ฯฯฯฮต ฮธฮฑ ฮตฯฮนฯฯฯฮญฯฮตฮน 0, ฮดฮนฮฑฯฮฟฯฮตฯฮนฮบฮฌ ฮธฮฑ ฮตฯฮนฯฯฯฮญฯฮตฮน 1.
ฮ ฯ: -
set a {1 2 3}
if {1 ni $a} {
puts "ok"
} else {
puts "fail"
}
Output: fail
ฮฮปฮตฮณฯฮฟฯ ฯฮฟฮฎฯ TCL ฮบฮฑฮน ฮปฮฎฯฮท ฮฑฯฮฟฯฮฌฯฮตฯฮฝ
ฮฅฯฮฌฯฯฮฟฯ ฮฝ ฮดฮนฮฌฯฮฟฯฮตฯ ฮตฮฝฯฮฟฮปฮญฯ ฮตฮปฮญฮณฯฮฟฯ ฯฮฟฮฎฯ ฮบฮฑฮน ฮปฮฎฯฮทฯ ฮฑฯฮฟฯฮฌฯฮตฯฮฝ ฯฮฟฯ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮฟฯฮฝฯฮฑฮน ฮณฮนฮฑ ฯฮทฮฝ ฮฑฮปฮปฮฑฮณฮฎ ฯฮทฯ ฯฮฟฮฎฯ ฮตฮฝฯฯ ฯฯฮฟฮณฯฮฌฮผฮผฮฑฯฮฟฯ. ฮฮน ฮตฮบฯฮตฮปฮญฯฮตฮนฯ ฯฯฮฟฮณฯฮฑฮผฮผฮฌฯฯฮฝ ฮพฮตฮบฮนฮฝฮฟฯฮฝ ฯฮฌฮฝฯฮฑ ฮฑฯฯ ฯฮทฮฝ ฮบฮฟฯฯ ฯฮฎ ฯฮฟฯ ฮฑฯฯฮตฮฏฮฟฯ ฯฯฮฟฮญฮปฮตฯ ฯฮทฯ ฯฯฮฟฯ ฯฮฟ ฮบฮฌฯฯ ฮผฮญฯฮฟฯ.
ฮฮฝ ฮท ฯฯฯฯฮฑฯฮท ฮฑฯฮฟฯฮตฮปฮตฮฏฯฮฑฮน ฮฑฯฯ ฮญฮบฯฯฮฑฯฮท Boole ฮฑฮบฮฟฮปฮฟฯ ฮธฮฟฯฮผฮตฮฝฮท ฮฑฯฯ ฮผฮฏฮฑ ฮฎ ฯฮตฯฮนฯฯฯฯฮตฯฮตฯ ฯฯฮฟฯฮฌฯฮตฮนฯ.
ฮฮฝ ... ฮดฮฎฮปฯฯฮท
ฮฃฯฮฝฯฮฑฮพฮท:-
ฮฑฮฝ expr ?ฯฯฯฮต; ฯฯฮผฮฑ
ฮฮฌฮฝ ฯฮฟ expr ฮฑฮพฮนฮฟฮปฮฟฮณฮทฮธฮตฮฏ ฯฯ true, ฯฯฯฮต ฮตฮบฯฮตฮปฮตฮฏฯฮฑฮน ฯฮฟ ฯฯฮผฮฑ ฯฮทฯ ฮตฮฝฯฮฟฮปฮฎฯ.
ฮ ฯฯฮทฮฝ:-
set age 10
if {$age < 20} {
puts "Age is less than 20"
}
Output: Age is less than 20
ฮฮฝ ... ฮฑฮปฮปฮนฯฯ ฮดฮฎฮปฯฯฮท
ฮฃฯฮฝฯฮฑฮพฮท: -
ฮฮฝ ฮญฮบฯฯฮฑฯฮท ; ฯฯฯฮต ฯฯฮผฮฑ_1 ฮฌฮปฮปฮฟ ฯฯฮผฮฑ_2
ฮฮฌฮฝ ฮท ฮญฮบฯฯฮฑฯฮท ฮฑฮพฮนฮฟฮปฮฟฮณฮทฮธฮตฮฏ ฯฯ true, ฯฯฯฮต ฮธฮฑ ฮตฯฮนฯฯฯฮญฯฮตฮน body_1 ฮดฮนฮฑฯฮฟฯฮตฯฮนฮบฮฌ ฮธฮฑ ฮตฯฮนฯฯฯฮญฯฮตฮน body_2
ฮ ฯฯฮทฮฝ:--
set age 10
if {$age < 20} {
puts "Age is less than 20"
} else {
Puts "Age is greater than 20"
}
output: Age is less than 20
ฮฮฝฮธฮตฯฮท ฮฑฮฝ..ฮฌฮปฮปฮฟ ฮดฮฎฮปฯฯฮท
ฮฃฮทฮผฮฑฮฏฮฝฮตฮน ฯฯฮน ฮผฮนฮฑ ฯฯฯฯฮฑฯฮท if ฮฎ else..if ฮผฯฮฟฯฮตฮฏ ฮฝฮฑ ฮผฯฮตฮน ฯฮต ฮผฮนฮฑ ฮฌฮปฮปฮท ฯฯฯฯฮฑฯฮท if ฮฎ else..if.
ฮฃฯฮฝฯฮฑฮพฮท:-
If {expression_1} {
Body_1
If {expression_2} {
Body_2
}
}
ฮ ฯฯฮทฮฝ:--
set a 10
set b 20
if {$a == 10} {
# if expression_1 is true then it will go to expression_2
if {$b == 20} {
#if expression_2 is true then it will print the below string
puts "value of a is 10 and b is 20"
}
}
o/p: value of a is 10 and b is 20
ฮฮฎฮปฯฯฮท ฮฑฮปฮปฮฑฮณฮฎฯ
ฮ ฮดฮฎฮปฯฯฮท switch ฮตฯฮนฯฯฮญฯฮตฮน ฯฮฟฮฝ ฮญฮปฮตฮณฯฮฟ ฮผฮนฮฑฯ ฮผฮตฯฮฑฮฒฮปฮทฯฮฎฯ ฮณฮนฮฑ ฮนฯฯฯฮทฯฮฑ ฮญฮฝฮฑฮฝฯฮน ฮผฮนฮฑฯ ฮปฮฏฯฯฮฑฯ ฯฮนฮผฯฮฝ. ฮฮพฮนฮฟฮปฮฟฮณฮตฮฏ ฯฮท ฮปฮฏฯฯฮฑ ฯฮนฮผฯฮฝ ฮบฮฑฮน ฮตฯฮนฯฯฯฮญฯฮตฮน ฯฮฟ ฮฑฯฮฟฯฮญฮปฮตฯฮผฮฑ ฮฑฯ ฯฮฎฯ ฯฮทฯ ฮฑฮพฮนฮฟฮปฯฮณฮทฯฮทฯ. ฮฮฌฮฝ ฮบฮฑฮผฮฏฮฑ ฯฮนฮผฮฎ ฮดฮตฮฝ ฯฮฑฮนฯฮนฮฌฮถฮตฮน, ฯฯฯฮต ฮธฮฑ ฮตฯฮนฯฯฯฮฑฯฮฟฯฮฝ ฮฟฮน ฯฯฮฟฮตฯฮนฮปฮตฮณฮผฮญฮฝฮตฯ ฯฮนฮผฮญฯ.
ฮ ฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ:
#!/usr/bin/tclsh
# switch_cmd.tcl
set domain x
switch $domain {
x { puts "x" }
y { puts "y" }
z { puts "z" }
default { puts "unknown" }
}
ฮฮฝฮธฮตฯฮฟฯ ฮดฮนฮฑฮบฯฯฯฮทฯ
ฮฮฝฮธฮตฯฮท ฮดฮฎฮปฯฯฮท ฮดฮนฮฑฮบฯฯฯฮท ฯฮทฮผฮฑฮฏฮฝฮตฮน ฮดฮฎฮปฯฯฮท ฮดฮนฮฑฮบฯฯฯฮท ฮผฮญฯฮฑ ฯฮต ฮดฮฎฮปฯฯฮท ฮดฮนฮฑฮบฯฯฯฮท.
ฮฃฯฮฝฯฮฑฮพฮท :-
switch <switchingstring1> {
<matchstring1> {
body1
switch <switchingstring2> {
<matchstring2> {
body2
}
...
switch <switchingstringN> {
<matchStringN> {
bodyN
}
}
}
ฮ ฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ: ฮฃฯฮฟ ฯฮฑฯฮฑฮบฮฌฯฯ ฯฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ, ฮท ฯฮนฮผฮฎ ฯฮฟฯ a ฮตฮฏฮฝฮฑฮน 100, ฮบฮฑฮน ฮผฮต ฯฮฟฮฝ ฮฏฮดฮนฮฟ ฮบฯฮดฮนฮบฯ ฮฑฮปฮปฮฌฮถฮฟฯ ฮผฮต ฯฮทฮฝ ฯฯฯฯฮฑฯฮท ฮณฮนฮฑ ฮผฮนฮฑ ฮฌฮปฮปฮท ฯฮนฮผฮฎ ฯฮฟฯ b ฮตฮฏฮฝฮฑฮน 200. ฮคฮฟ out ฮธฮฑ ฮตฮผฯฮฑฮฝฮฏฯฮตฮน ฯฮนฮผฮฎ ฮบฮฑฮน ฮณฮนฮฑ ฯฮฟ a ฮบฮฑฮน ฮณฮนฮฑ ฯฮฟ b.
#!/usr/bin/tclsh
set a 100
set b 200
switch $a {
100 {
puts "The value of a is $a"
switch $b {
200 {
puts "The value of b is $b"
}
}
}
}
ฮ ฮฑฯฮฑฮณฯฮณฮฎ:-
ฮ ฯฮนฮผฮฎ ฯฮฟฯ a ฮตฮฏฮฝฮฑฮน 100
ฮ ฯฮนฮผฮฎ ฯฮฟฯ b ฮตฮฏฮฝฮฑฮน 200
ฮฮฎฮปฯฯฮท ฮฒฯฯฯฮฟฯ TCL
ฮ ฮตฮฝฯฮฟฮปฮฎ loop ฮตฯฮนฯฯฮญฯฮตฮน ฯฮทฮฝ ฮตฮบฯฮญฮปฮตฯฮท ฮผฮนฮฑฯ ฮตฮฝฯฮฟฮปฮฎฯ ฮฎ ฮผฮนฮฑฯ ฮฟฮผฮฌฮดฮฑฯ ฮตฮฝฯฮฟฮปฯฮฝ ฯฮฟฮปฮปฮญฯ ฯฮฟฯฮญฯ. ฮ Tcl ฯฮฑฯฮญฯฮตฮน ฯฮฟฯ ฯ ฮฑฮบฯฮปฮฟฯ ฮธฮฟฯ ฯ ฯฯฯฮฟฯ ฯ looping ฮดฮฎฮปฯฯฮท.
ฮฮฝฯ ฮตฮฝฯฮฟฮปฮฎ
ฮฯฮฑฮฝ ฮผฮนฮฑ ฮดฮตฮดฮฟฮผฮญฮฝฮท ฯฯ ฮฝฮธฮฎฮบฮท ฮตฮฏฮฝฮฑฮน ฮฑฮปฮทฮธฮฎฯ, ฯฯฯฮต ฮตฯฮฑฮฝฮฑฮปฮฑฮผฮฒฮฌฮฝฮตฯฮฑฮน ฮผฮนฮฑ ฯฯฯฯฮฑฯฮท ฮฎ ฮผฮนฮฑ ฮฟฮผฮฌฮดฮฑ ฮดฮทฮปฯฯฮตฯฮฝ ฯฮฟฯ ฮฒฯฮฏฯฮบฮฟฮฝฯฮฑฮน ฯฯฮฟ ฯฯฮผฮฑ ฯฮฟฯ ฮฒฯฯฯฮฟฯ .
ฮฃฯฮฝฯฮฑฮพฮท:
While {condition} {
Statements
}
ฮ ฯ: -
#!/usr/bin/tclsh
Set a 10
While {$a < 12} {
Puts "a is $a"
incr a
}
ฮ ฮฑฯฮฑฮณฯฮณฮฎ:-
ฮฑ ฮตฮฏฮฝฮฑฮน 10
ฮฑ ฮตฮฏฮฝฮฑฮน 11
ฮฃฯฮฟ ฯฮฑฯฮฑฯฮฌฮฝฯ ฯฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ, ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฮท ฮตฮฝฯฯฮผฮฑฯฯฮผฮญฮฝฮท ฮตฮฝฯฮฟฮปฮฎ "incr". ฮฃฮทฮผฮฑฮฏฮฝฮตฮน ฯฯฮน ฮท ฯฮนฮผฮฎ ฯฮฟฯ 'a' ฮธฮฑ ฮฑฯ ฮพฮทฮธฮตฮฏ ฮบฮฑฯฮฌ 1 ฮผฮญฯฯฮน ฯฮท ฮผฮญฮณฮนฯฯฮท ฯฮนฮผฮฎ (<12).
ฮฮนฮฑ ฮตฮฝฯฮฟฮปฮฎ
ฮฮบฯฮตฮปฮตฮฏ ฮผฮนฮฑ ฮฑฮบฮฟฮปฮฟฯ ฮธฮฏฮฑ ฮตฮฝฯฮฟฮปฯฮฝ ฯฮฟฮปฮปฮญฯ ฯฮฟฯฮญฯ ฮผฮต ฮฒฮฌฯฮท ฮผฮนฮฑ ฯฮนฮผฮฎ ฮผฮตฯฯฮทฯฮฎ. ฮฯ ฮพฮฌฮฝฮตฯฮฑฮน ฮฎ ฮผฮตฮนฯฮฝฮตฯฮฑฮน ฮฑฯ ฯฯฮผฮฑฯฮฑ ฮบฮฑฯฮฌ ฯฮท ฮดฮนฮฌฯฮบฮตฮนฮฑ ฮบฮฌฮธฮต ฮตฯฮฑฮฝฮฌฮปฮทฯฮทฯ ฯฮฟฯ ฮฒฯฯฯฮฟฯ .
ฮฃฯฮฝฯฮฑฮพฮท :-
For {start} {test} {next} {
Body
}
ฮ ฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ: ฮฃฯฮฟ ฯฮฑฯฮฑฮบฮฌฯฯ ฯฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ, ฮท ฯฮนฮผฮฎ ฯฮฟฯ 'i' ฮฟฯฮฏฮถฮตฯฮฑฮน ฯฯฮฟ 0 ฮบฮฑฮน ฮฑฯ ฮพฮฌฮฝฮตฯฮฑฮน ฮผฮญฯฯฮน ฯฮทฮฝ ฯฮนฮผฮฎ <5.
#!/usr/bin/tclsh
for {set i 0} {$i < 5} {incr i} {
put $i
}
ฮ ฮฑฯฮฑฮณฯฮณฮฎ:-
0 1 2 3 4
ฮ ฮตฯฮฏฮปฮทฯฮท:
- ฮ TCL ฮตฮฏฮฝฮฑฮน ฮณฮปฯฯฯฮฑ ฮดฮญฯฮผฮทฯ ฮตฮฝฮตฯฮณฮตฮนฯฮฝ ฯฮฟฯ ฮฒฮฑฯฮฏฮถฮตฯฮฑฮน ฯฮต ฯฯ ฮผฮฒฮฟฮปฮฟฯฮตฮนฯฮญฯ ฮบฮฑฮน ฮตฯฮฏฯฮทฯ ฮณฮปฯฯฯฮฑ ฮดฮนฮฑฮดฮนฮบฮฑฯฮนฯฮฝ
- ฮ ฮณฮปฯฯฯฮฑ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฯฯ ฮฝฮฎฮธฯฯ ฮณฮนฮฑ GUI ฮบฮฑฮน ฮดฮฟฮบฮนฮผฮญฯ
- ฮฃฯฮฟ TCL ฮฑฯฯ ฯฯฮฟฮตฯฮนฮปฮฟฮณฮฎ ฯฮปฮฑ ฮตฮฏฮฝฮฑฮน ฯฯ ฮผฮฒฮฟฮปฮฟฯฮตฮนฯฮฌ
- ฮคฮฟ TCL ฮตฮฏฮฝฮฑฮน ฮตฯฮฑฯฮผฮฟฮณฮฎ ฯฮปฮฟฮนฮฟฯ ฯฮฟฯ ฮดฮนฮฑฮฒฮฌฮถฮตฮน ฯฮทฮฝ ฮตฮฝฯฮฟฮปฮฎ TCL ฮฑฯฯ ฯฮทฮฝ ฯฯ ฯฮนฮบฮฎ ฮตฮฏฯฮฟฮดฮฟ ฮฎ ฮฑฯฯ ฮญฮฝฮฑ ฮฑฯฯฮตฮฏฮฟ ฮบฮฑฮน ฮดฮฏฮฝฮตฮน ฯฮฑ ฮตฯฮนฮธฯ ฮผฮทฯฮฌ ฮฑฯฮฟฯฮตฮปฮญฯฮผฮฑฯฮฑ.
- ฮคฮฟ ฯฯฯฮณฯฮฑฮผฮผฮฑ TCL ฮธฮฑ ฯฯฮญฯฮตฮน ฮฝฮฑ ฮญฯฮตฮน ฮตฯฮญฮบฯฮฑฯฮท .tcl
