Home Map Index Search News Archives Links About LF
[Top bar]
[Bottom bar]
[Photo of the Author]
Brent B. Welch

�۾��� �Ұ�:
Brent Welch���� www.scriptics.com������Ʈ�� ��������� Tcl�� ���õ� URL���� �������� �����ͺ��̽�ȭ�ϰ� TclPro��ǰ�� ���� ���ڻ�ŷ� ��������� ����̽��ϴ�. ���� Tcl/Tk�� �̿��� ���� ���α׷����� ���� ��������ϴ�. ������ ��ǥ���� ���α׷����δ� ���� www.scriptics.com�� ��ϴµ� ���ǰ� �ִ� TclHttpd������, ���� ������������̽��� Wxmh, webtk HTML��������� �ֽ��ϴ�. �״� �� "Practical Programming in Tcl and Tk"�� å�� �쳻�⵵ �߾����ϴ�. (�ѱ����ǵ� ����:) Welch���� 1982�� Boulder�� �ִ� University of Colorado���� �װ����ְ����� �����Ͽ����� 1986�� University of California, Berkeley���� ��ǻ�Ͱ��� ���������� �޾����� 90�⵵�� �ڻ������� �޾ҽ��ϴ�. Welch���� ���Ͻ� PARC���� �л�ý��ۿ� ���� ���������� �������� ������ �� �� �� ����ũ�νý����� �����ҿ��� Tcl/Tk�������� Ȱ���ϰ� �ֽ��ϴ�. ���� ACM�� IEEE ��ǻ�ͺа��� ȸ���Դϴ�. Ȩ������: http://www.beedub.com/

����:

The Tcl Syntax

[Ilustration]

Abstract:

�� �ۿ����� Tcl����� �⺻����� ������ ���� �����մϴ�.



 

Tcl���� ���캸��

��ũ��Ʈ����� Tcl�� �ſ� ������ ������ ������ �ִ�.

���ɾ� ���� ���� ����
Tcl���ɾ���� �ܾ�� �̷�����µ�, �� �ܾ�� �������� ���еȴ�. ù��° �ܾ�� ���ɾ��̸��̸�, �������� ���ɾ�� ���޵Ǵ� �����̴�.
$foo
�޷�ǥ��($)�� �������� �ǹ��Ѵ�. ���� ������ foo�� �������̴�..
[clock seconds]
���ȣ(Square bracket)�� ������ �������� �� �� �ִ�. ���� ���ڸ� �������� � ���ɾ��� �������� �ٸ� ������ ���ڷ� ����Ҷ� �� ���ȣ�� ����Ѵ�. ���� ������ �ᱹ ���� �ð��� �ʴ����� �����ִ� ���ڷ� �� �� �ִ�.
"some stuff"
�ֵ���ǥ�� ���ɾ ���޵Ǵ� ���� �ܾ�� �� �ϳ��� ���ڸ� �ǹ��Ѵ�. �޷�ǥ�ÿ� ���ȣ�� �ֵ���ǥ�ȿ����� �ؼ��� �ȴ�.
{some stuff}
�߰�ȣ(Curly brace) ���� ��� �ܾ���� �ϳ��� ���ڷ� �ѱ涧 ���ȴ�. �׷��� �̶��� ��ȣ���� ������ �ؼ����� �ʰ� �״�� ���޵ȴ�.
\
�齽����(\)�� Ư�����ڸ� ��Ÿ���� ���ȴ�. ���� ��� \n�� ���ο� ������ �����϶�� �ǹ��̴�. �齽���ô� ���� �޷�ǥ��, �ֵ���ǥ, ���ȣ, �߰�ȣ���� ������ Ư���� �ǹ̸� ���� ���� ���ڷθ� ����Ҷ� ���ȴ�.
 

���� ����

�̷����� ����ð��� ȭ�鿡 ����ϴ� ������ Tcl�����̴�. ���Ǵ� Tcl���ɾ�� set, clock, puts�� �����̴�. set������ ������ �����Ѵ�. clock������ ���� �ð����� ����Ѵ�. puts���ɾ�� ���� ����Ѵ�.

set seconds [clock seconds] puts "The time is [clock format $seconds]"

������ �����Ҷ��� $��ȣ�� ������� �ʴ´ٴ� ���� ����� �α� �ٶ���. ���� �������� � ������ ���� ����� �ʿ䰡 ������ $�� �ٿ� ����Ѵ�. seconds������ ��� �� �ʿ��� ������ �ƴϴ�. �������� ���� �ð��� ���� �������ٷε� ����� �� �ִ�.:

puts "The time is [clock format [clock seconds]]"

 

�׷�ȭ(Grouping)�� ��ü(substitution)

Tcl�ļ��� �ٸ� ���ܰ踦 ���� Tcl������ �ؼ��Ѵ�.: ���� �׷�ȭ, ��� ��ü,������ ����.

  1. ���� �׸�ȭ. Tcl�� ���ڵ��� ��� ���ɾ�鿡�� ü��ȭ�� ���ΰ��� �����ؾ� �Ѵ�. ���� ������ ���� �������� ���ڵ��� �����ϴ� ����� �ִ�. �տ����� ��������� ����ǥ�� ��ȣ�� �������� �ܾ �ϳ��� ���ڷ� ���µ� ���ȴ�. ���� �������α׷������� �ֵ���ǥ�� �ϳ��� ���ڷ� �׷�ȭ�Ǿ� puts���ɿ��� ���Ǿ���.

  2. ��� ��ü. ���ڵ��� ��� �׷�ȭ�ǰ����� Tcl�� ���ڿ� ��ü�� �����Ѵ�.������ �����ڸ� $foo�� foo������ ������ �ٲٴ� ���̴�.�� ��ȣ������ ���ɾ���� �� ������ ����� �ٲٴ� ���̴�. �� ��ü������ �Ϲ������� �׷�ȭ�� �����ǰ� �� ������ ����ȴ�. �� ������ ���� �۾��� �����ϸ� �̻��� ������ ���ɾ��� ������ ���������� �ʵ��� ���ش�.

  3. ���� ����. ��ü������ ������ Tcl�� ���ɾ���� �������̺��� Ű������ ����Ѵ�. �ᱹ ���̺����� ���е� C���ν����� ȣ���ϰ� �ǰ�, C���ν����� ������ �����ϰ� �ȴ�.�����е� Tcl���� ���ɾ� ���ν����� �ۼ��� �� �ִ�. �̰��� ���ڸ� �����ϰ� ������ �ٷ�� ���� ������ �����̴�.
 

�Ǵٸ� ����

���� �ٸ� ���� �ϳ��� ���캸��.:

set i 0 while {$i < 10} { puts "$i squared = [expr $i*$i]" incr i }

���⼭ �߰�ȣ�� � ��ü������ �Ͼ�� �ʰ� �ϸ鼭 ���ڵ��� �׷�ȭ�ϱ� ���Ͽ� ���Ǿ���. Tcl�ļ��� while���ɿ� ���Ͽ� Ư���� ������ �ʿ�� ���� �ʴ´ٴ� ���� �˰� �ִ�.��ġ �ٸ� ���ɾ�ó�� ��޵ȴ�. while������ ������ ���� ù��° ���ڰ� ǥ�����̸�, �ι�°���ڰ� Tcl���ɾ���̶�� �͸� �˰� �ִ�. ��ȣ�� �� �׷��� �ΰ��� ���ڸ� ������ �ִ�.: ������ ��� ����ϴ� �Ҹ�ǥ���İ� ������������ ������ ���ɾ�� �Ǿ� �ִ�.

�츮�� �ΰ��� ������ ǥ������ ���Ҵ�.: �ϳ��� �Ҹ� �����̸� �ϳ��� ���������� ǥ���Ǵ� �����̴�. while������ �ڵ����� �� ù��° ���ڸ� �������� ���Ѵ�. �ٸ� ��쿡�� �������� �ݵ�� Ư���� ������ ����� �����Ϸ��� expr���ɾ ����ؾ� �Ѵ�.  

������ ����

���������� Tcl�� ����� ��� �۾��� �����ϱ� ���Ͽ� ����� ȣ���Ѵ�. �츮�� �̹� Tcl�� �����Լ��� ����ϱ� ���Ͽ� expr������ ����ϰ�, ����Լ��� �ٷ�� ���Ͽ� puts�Լ��� ����ϸ�, �������� �����ϱ� ���Ͽ� set������ ����Ѵٴ� ���� ���캸�Ҵ�. �̷��� Tcl���ɾ���� Tcl�� ��ϵǾ� �ִ� C���ν����� ȣ���Ͽ� ����ȴ�. C���ɾ� ���ν����� Tcl���������κ��� ���ڿ� ���ڸ� �޾Ƽ� �� ���� ���ο� ���ڿ��� �����ش�. C���ɾ� ���ν����� �ۼ��ϴ� ���� �ſ� ���� ���̴�. C���ɾ� ���ν����� �̿��ϸ� �����ͺ��̽��� ���ٿ������� �׷����� ����� �������̽��� ����� ���� �ϱ��� ��� �۾��� �����ϴ�.���μ��� Tcl�� ������ �� ������ � ���� �ϴ��� ������ �𸥴�. ���� ���ڵ��� �׷�ȭ�ϰ�, ����� ġȯ�ϰ�, ���ɾ���� ó���� ���̴�.  

One Last Example

���� ���α׷��� ���丮���� ���ϴ� ���α׷��̴�.:

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]]]
    }
}


 

�� �ڼ��� �˰����� ���ڵ���

�� ��翡 ���� �ҽ��� ���⿡ �ִ�.: Scriptics
���������� ��������Ŀ���� �������� ���� �����˴ϴ�.
© Brent B. Welch
LinuxFocus 1999