Bu makalenin farkl� dillerde bulundu�u adresler: English Castellano ChineseBig5 ChineseGB Deutsch Francais Italiano Nederlands Turkce Korean |
taraf�ndan Brent B. Welch Yazar hakk�nda: Brent Welch, Tcl ile ilgili URL'lerin(Tcl Kaynak merkezi) a��klamal� bir veritaban�n� ve Tcl �r�n� i�in e-ticaret altyap�s� i�eren, www.scriptics.com websitesini olu�turmaktad�r.Ayn� zamanda TclHttp a� sunucusu(www.scriptics.com sitesinde kullan�lan), Exmh mail kullan�c� aray�z� ve webtk HTML edit�r� i�eren �e�itli geni� Tcl/Tk uygulamalar� geli�tirmi� olup, "Tcl ve Tk'de Uygulamal� Programlama" kitab�n�n da yazar�d�r. Welch, 1982'de Colorado �niversitesi'nde uzay m�hendisli�i e�itimi ald�ktan sonra 1986'da Berkeley, California �niversitesi'nde bilgisayar m�hendisli�inde y�ksek lisans e�itimi g�rd�. 1990'da gene ayn� yerde doktoras�n� tamamlad�.Welch, yak�n bir zamana kadar Xerox PARCH'da ara�t�rma g�revlisiydi. Daha sonra, Sun Mikrosistem Laboratuvarlar�'nda Tcl/Tk tak�m�nda g�rev ald�.�u an ACM ve IEEE Bilgisayar G�venli�i kurulu�unun bir �yesidir. Home Page: http://www.beedub.com/ ��erik: |
�zet:
Bu makale Tcl dilinin temel kavramlar�n� ve s�zdizimini a��klamaktad�r.
Bir betik dili i�in, Tcl basit bir s�zdizimi yap�s�na sahiptir.
cmd arg arg arg
$foo
foo
dur.
[clock seconds]
"some stuff"
{some stuff}
\
A�a��daki, �u anki zaman� ��kt� olarak veren bir Tcl komutudur.
Burada �� Tcl komutu kulln�lmaktad�r: set
, clock
,
veputs
.
set
komutu de�i�keni atama i�lemini yapar.
clock
komutu zaman de�erini hesaplar.
puts
komutu ise de�erleri ��kt� olarak verir.
set seconds [clock seconds] puts "The time is [clock format $seconds]"
$ i�aretinin atama i�leminde kullan�lmad���na dikkat edin.Sadece bir de�er
vermek istedi�imizde $ i�aretini kullan�yoruz.
seconds
de�i�keni �nceki �rnekte gerekli de�ildi.�u anki zaman�
tek bir komutla yazd�rabiliriz:
puts "The time is [clock format [clock seconds]]"
Tcl s�zdizimi, "Tcl parser"a �� safhada yol g�stermekde kullan�l�r:arg�man gruplama, sonucun de�i�imi ve komut g�nderimi.
puts
komutuna tek bir arg�man olarak gruplamada kullan�ld�.
$foo
, de�i�kenin de�eri foo
ile ve
parantez i�indeki komutlar da sonu�lar�yla yerde�i�tirir. Bu de�i�im
gruplama �nemli olduktan sonra yap�l�r. B�ylelikle bu s�ra
al���lmad�k de�erlerin komutun yap�s�n� kar��t�rmamas�n� sa�lar.
Bu da ba�ka bir �rnek:
Burada, s�sl� parantezler hi� bir de�i�iklik yapmadan arg�manlar� gruplamada kullan�lm��t�r.Tcl parser,set i 0 while {$i < 10} { puts "$i squared = [expr $i*$i]" incr i }
while
komutu hakk�nda �zel hi� bir�ey
bilmez ve di�er komutlarda yapt���n� burada da yapar. while
komutunun icras�nda ilk arg�man ifade, ikincisi ise Tcl komutlar�d�r.
Parantezler iki arg�man� gruplar:d�ng�y� kontrol eden boolean ifadesi ve
d�ng� blo�u i�erisindeki komutlar.
Ayn� zamanda iki matematiksel ifade g�rmekteyiz: boolean kar��la�t�rmas� ve
�arp�m. while komutu otomatik olarak ilk arg�man�n� bir ifade olarak
de�erlendirir. Di�er durumlarda matematiksel de�erlendirme i�in kesin olarak
expr
komutunu kullanmal�s�n�z.
Son olarak, Tcl zor i�i yapmak i�in ba�ka bir �ey �a��r�r. Tcl'nin matematiksel
fonksiyonlar� kullanmak i�in expr
, ��kt� fonksiyonlar� i�in
puts
ve de�i�ken atamalar� i�in set
komutlar�n�
kulland���n� g�rd�k. Bu Tcl komutlar�, bir C i�lemi taraf�ndan icra edilir.
C komut i�lemleri string arg�man�n� Tcl komutundan al�r ve sonu� olarak yeni
bir stringe d�ner. C komut i�lemlerini yazmak �ok kolayd�r ki bunlarla
veritabanlar�na ula��mdan grafiksel kullan�c� aray�zlerine kadar her �ey
yap�labilir. Tcl dili ger�ektende ne yap�ld���n� bilmez. Sadece arg�manlar�
gruplar, sonu�lar� de��irir ve komutlar� yollar.
Faktoriyel i�lemi:
proc fac {x} { if {$x < 0} { error "Invalid argument $x: must be a positive integer" } elseif {$x <= 1} { return 1 } else { return [expr $x * [fac [expr $x-1]]] } }
|
G�rsely�re sayfalar�n�n bak�m�, LinuxFocus Edit�rleri taraf�ndan yap�lmaktad�r
© Brent B. Welch, FDL LinuxFocus.org Buray� klikleyerek hatalar� rapor edebilir ya da yorumlar�n�z� LinuxFocus'a g�nderebilirsiniz |
�eviri bilgisi:
|
2001-03-17, generated by lfparser version 2.9