TCL TK Tutorial: Tool Command Language

ฮคฮน ฮตฮฏฮฝฮฑฮน ฯ„ฮฟ TCL;

ฮคฮฟ TCL ฮตฮฏฮฝฮฑฮน ฮตฯ†ฮฑฯฮผฮฟฮณฮฎ ฯ†ฮปฮฟฮนฮฟฯ ฯ€ฮฟฯ… ฮดฮนฮฑฮฒฮฌฮถฮตฮน ฯ„ฮทฮฝ ฮตฮฝฯ„ฮฟฮปฮฎ TCL ฮฑฯ€ฯŒ ฯ„ฮทฮฝ ฯ„ฯ…ฯ€ฮนฮบฮฎ ฮตฮฏฯƒฮฟฮดฮฟ ฮฎ ฮฑฯ€ฯŒ ฮญฮฝฮฑ ฮฑฯฯ‡ฮตฮฏฮฟ ฮบฮฑฮน ฮดฮฏฮฝฮตฮน ฯ„ฮฑ ฮตฯ€ฮนฮธฯ…ฮผฮทฯ„ฮฌ ฮฑฯ€ฮฟฯ„ฮตฮปฮญฯƒฮผฮฑฯ„ฮฑ.

ฮ— TCL ฮตฮฏฮฝฮฑฮน ฮผฮนฮฑ ฮณฮปฯŽฯƒฯƒฮฑ ฯƒฮตฮฝฮฑฯฮฏฯ‰ฮฝ ฯ€ฮฟฯ… ฮฒฮฑฯƒฮฏฮถฮตฯ„ฮฑฮน ฯƒฮต ฯƒฯ…ฮผฮฒฮฟฮปฮฟฯƒฮตฮนฯฮญฯ‚ ฮบฮฑฮน ฮตฮฏฮฝฮฑฮน ฮตฯ€ฮฏฯƒฮทฯ‚ ฮผฮนฮฑ ฮดฮนฮฑฮดฮนฮบฮฑฯƒฯ„ฮนฮบฮฎ ฮณฮปฯŽฯƒฯƒฮฑ. ฮ”ฮทฮผฮนฮฟฯ…ฯฮณฮฎฮธฮทฮบฮต ฮณฮนฮฑ ฯ€ฯฯŽฯ„ฮท ฯ†ฮฟฯฮฌ ฮฑฯ€ฯŒ ฯ„ฮฟฮฝ John Osterhout ฯ„ฮฟ 1989. ฮŸ ฯƒฮบฮฟฯ€ฯŒฯ‚ ฯ„ฮทฯ‚ ฮฑฮฝฮฌฯ€ฯ„ฯ…ฮพฮทฯ‚ping ฮ‘ฯ…ฯ„ฮฎ ฮท ฮณฮปฯŽฯƒฯƒฮฑ ฮตฮฏฮฝฮฑฮน ฮตฯฮบฮฟฮปฮฑ ฮตฮฝฯƒฯ‰ฮผฮฑฯ„ฯ‰ฮผฮญฮฝฮท ฯƒฮต ฮตฯ†ฮฑฯฮผฮฟฮณฮญฯ‚ inti(). ฮ— ฮณฮปฯŽฯƒฯƒฮฑ ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฮตฮฏฯ„ฮฑฮน ฯƒฯ…ฮฝฮฎฮธฯ‰ฯ‚ ฮณฮนฮฑ ฮณฯฮฑฯ†ฮนฮบฮฌ ฯ€ฮตฯฮนฮฒฮฌฮปฮปฮฟฮฝฯ„ฮฑ ฯ‡ฯฮฎฯƒฯ„ฮท (GUI) ฮบฮฑฮน ฮดฮฟฮบฮนฮผฮญฯ‚. ฮ“ฮนฮฑ ฯ€ฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ, ฯ„ฮฟ rapid prototy.ping, ฮ”ฮฟฮบฮนฮผฮญฯ‚ ฮฑฮปฮปฮทฮปฮตฯ€ฮฏฮดฯฮฑฯƒฮท ฮฒฮฌฯƒฮทฯ‚ ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ ฮบ.ฮปฯ€. ฮฃฯ„ฮฟ TCL ฮฑฯ€ฯŒ ฯ€ฯฮฟฮตฯ€ฮนฮปฮฟฮณฮฎ ฯŒฮปฮฑ ฮตฮฏฮฝฮฑฮน ฮผฮนฮฑ ฯƒฯ…ฮผฮฒฮฟฮปฮฟฯƒฮตฮนฯฮฌ.

ฮฃฮต ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ ฯƒฮตฮผฮนฮฝฮฌฯฮนฮฟ, ฮธฮฑ ฮผฮฌฮธฮตฯ„ฮต-

ฮ ฯŽฯ‚ ฮฝฮฑ ฮตฮบฯ„ฮตฮปฮญฯƒฮตฯ„ฮต ฯ„ฮฟ TCL

ฮฅฯ€ฮฌฯฯ‡ฮฟฯ…ฮฝ ฮดฯฮฟ ฯ„ฯฯŒฯ€ฮฟฮน ฮณฮนฮฑ ฮฝฮฑ ฮตฮบฯ„ฮตฮปฮญฯƒฮตฯ„ฮต ฯ„ฮฟฮฝ ฮบฯŽฮดฮนฮบฮฑ TCL

  1. Windows ฮ— ฮฒฮฑฯƒฮนฯƒฮผฮญฮฝฮท ฮตฯ†ฮฑฯฮผฮฟฮณฮฎ ฮตฮฏฮฝฮฑฮน ฮดฮนฮฑฮธฮญฯƒฮนฮผฮท ฮตฮดฯŽ tcltutor ฮฑฯฯ‡ฮตฮฏฮฟ exe
  2. ฮ•ฯ†ฮฑฯฮผฮฟฮณฮฎ ฮฒฮฑฯƒฮนฯƒฮผฮญฮฝฮท ฯƒฯ„ฮฟ Linux

In Linux ฮดฮนฮฑฮดฯฮฑฯƒฯ„ฮนฮบฯŒ ฮดฮนฮตฯฮผฮทฮฝฮญฮฑ, ฮผฯ€ฮฟฯฮฟฯฮผฮต ฮฝฮฑ ฮตฮบฯ„ฮตฮปฮญฯƒฮฟฯ…ฮผฮต ฯ„ฮฑ ฯƒฮตฮฝฮฌฯฮนฮฑ TCL ฯŒฯ€ฯ‰ฯ‚ ฯ€ฮฑฯฮฑฮบฮฌฯ„ฯ‰

ฮ“ฮนฮฑ ฮฝฮฑ ฮฑฯ€ฮฟฮบฯ„ฮฎฯƒฮตฯ„ฮต ฯ€ฯฯŒฯƒฮฒฮฑฯƒฮท ฯƒฯ„ฮท ฮดฮนฮฑฮดฯฮฑฯƒฯ„ฮนฮบฮฎ ฯƒฯ…ฮฝฮตฮดฯฮฏฮฑ TCL, ฮตฮบฯ„ฮตฮปฮญฯƒฯ„ฮต ฯ„ฮทฮฝ ฮฑฮบฯŒฮปฮฟฯ…ฮธฮท ฮตฮฝฯ„ฮฟฮปฮฎ

TCL Tutorial: Tool Command Language

ฮฃฮตฮฝฮฌฯฮนฮฑ 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

  1. ฮ‘ฮฝฯ„ฮนฮบฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท ฮตฮฝฯ„ฮฟฮปฯŽฮฝ
  2. ฮœฮตฯ„ฮฑฮฒฮปฮทฯ„ฮฎ ฮฑฮฝฯ„ฮนฮบฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท
  3. ฮ‘ฮฝฯ„ฮนฮบฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท ฮฑฮฝฮฌฯƒฯ„ฯฮฟฯ†ฮทฯ‚ ฮบฮฌฮธฮตฯ„ฮฟฯ…

ฮ‘ฯ‚ ฮผฮตฮปฮตฯ„ฮฎฯƒฮฟฯ…ฮผฮต ฮญฮฝฮฑ ฯ€ฯฮฟฯ‚ ฮญฮฝฮฑ

ฮ‘ฮฝฯ„ฮนฮบฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท ฮตฮฝฯ„ฮฟฮปฯŽฮฝ

ฮŸฮน ฮฑฮณฮบฯฮปฮตฯ‚ ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฮฟฯฮฝฯ„ฮฑฮน ฮณฮนฮฑ ฯ„ฮทฮฝ ฮฑฮฝฯ„ฮนฮบฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท ฮตฮฝฯ„ฮฟฮปฯŽฮฝ.

ฮ ฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ:-

% 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 ฮฟฮผฮฑฮดฮฟฯ€ฮฟฮนฮฟฯฮฝ ฯ„ฮนฯ‚ ฮปฮญฮพฮตฮนฯ‚ ฮผฮฑฮถฮฏ ฮณฮนฮฑ ฮฝฮฑ ฮณฮฏฮฝฮฟฯ…ฮฝ ฮฟฯฮฏฯƒฮผฮฑฯ„ฮฑ. ฮคฮฑ ฯƒฮณฮฟฯ…ฯฮฌ ฮฌฮณฮบฮนฯƒฯ„ฯฮฑ ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฮฟฯฮฝฯ„ฮฑฮน ฮณฮนฮฑ ฯ„ฮฟฮฝ ฮบฮฑฮธฮฟฯฮนฯƒฮผฯŒ ฮตฮฝฯŒฯ‚ ฮผฯ€ฮปฮฟฮบ ฯ€ฮฟฯ… ฮญฯ‡ฮตฮน ฮฑฮฝฮฑฮฒฮปฮทฮธฮตฮฏ โ€“ ฮผฮต ฮฌฮปฮปฮฑ ฮปฯŒฮณฮนฮฑ, ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮตฮบฯ„ฮตฮปฮตฯƒฯ„ฮตฮฏ ฮœฮ•ฮคฮ‘ ฯ„ฮทฮฝ ฯ…ฯ€ฯŒฮปฮฟฮนฯ€ฮท ฮตฮฝฯ„ฮฟฮปฮฎ ฯƒฯ„ฮทฮฝ ฯ„ฯฮญฯ‡ฮฟฯ…ฯƒฮฑ ฮณฯฮฑฮผฮผฮฎ. ฮŸฮน ฯ‡ฮฑฯฮฑฮบฯ„ฮฎฯฮตฯ‚ ฮผฮญฯƒฮฑ ฯƒฮต ฮฑฮณฮบฯฮปฮตฯ‚ ฮผฮตฯ„ฮฑฮฒฮนฮฒฮฌฮถฮฟฮฝฯ„ฮฑฮน ฯƒฮต ฮผฮนฮฑ ฮตฮฝฯ„ฮฟฮปฮฎ ฮฑฮบฯฮนฮฒฯŽฯ‚ ฯŒฯ€ฯ‰ฯ‚ ฮณฯฮฌฯ†ฮตฯ„ฮฑฮน.

ฮœฮตฯฮนฮบฮฌ ฯƒฮทฮผฮตฮฏฮฑ ฯ€ฮฟฯ… ฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ ฮธฯ…ฮผฮฌฯƒฯ„ฮต

  1. ฮ”ฮตฮฝ ฮตฯ€ฮนฯ„ฯฮญฯ€ฮตฯ„ฮฑฮน ฮท ฮฑฮฝฯ„ฮนฮบฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท ฮผฮตฯ„ฮฑฮฒฮปฮทฯ„ฮฎฯ‚ ฮผฮญฯƒฮฑ ฯƒฮต ฮฑฮณฮบฯฮปฮตฯ‚ {}
  2. ฮงฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฮฎฮธฮทฮบฮต ฮณฮนฮฑ ฯ„ฮท ฮดฮทฮผฮนฮฟฯ…ฯฮณฮฏฮฑ ฯ„ฯฯ€ฮฟฯ… ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ ฮปฮฏฯƒฯ„ฮฑฯ‚

ฮ ฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ:-

% 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

ฮฃฯ…ฮฝฮฟฯˆฮฏฯƒฯ„ฮต ฮฑฯ…ฯ„ฮฎฮฝ ฯ„ฮทฮฝ ฮฑฮฝฮฌฯฯ„ฮทฯƒฮท ฮผฮต: