Tcl
Tcl («Tool Command Language», тікль, ті-сі-ель, Tcl/Tk) — імперативна інтерпретована скриптова мова програмування. Майже завжди використовується разом з тулкітом Tk.
Короткий огляд[ред. | ред. код]
Синтаксис[ред. | ред. код]
Tcl має другий за дурістю синтаксис після Lisp серед усіх мов програмування. Уся їбонутість синтаксису проявляється у фігурно-дужко-філії. Типова програма на Tcl складається з опису алгоритму на 5% і фігурних дужок на 95%. Найпростіше синтаксис Тікля можна описати так:
command arg1 arg2
У читача може виникнути питання: «А де ж фігурні дужки?». А дужки використовуються для групування елементів синтаксису, тобто не так як в C, а зовсім йобнуто:
set liczba [gets stdin] while { $liczba != 42 } { puts $liczba; set liczba [gets stdin] }
Фішки[ред. | ред. код]
Однією з найбільших фішок Тікля є підтримка метапрограмування, що безумовно дуже доставляє. Також, оскільки мова - інтерпретована, вона підтримує динамічні структура даних: асоціативні масиви і інше. Також є всякі ніштяки типу програмування у функціональному стилі і інше. Все це дуже виділяє мову серед інших.
Інші елементи синтаксису[ред. | ред. код]
Символ | Його значення | Приклад |
---|---|---|
$
|
Підстановка значення змінної | puts $x
|
#
|
Коментар до кінця рядка. Коментарі ігноруються під час транслювання коду | set x 12 #це коментарій
|
[]
|
Підстановка результату виконання команди у квадратних дужках | set x [gets stdin] #присвоїть змінній х значення введене з клавіатури
|
""
|
Групування елементів з підстановкою значень змінних | puts "b = $b"
|
{}
|
Як вже було сказано, групування елементів. | puts {Hello, world!!!} |
\
|
Цитування керуючого символа | puts "\$" #виведе "$" |
Мани[ред. | ред. код]
Присвоєння змінній значення[ред. | ред. код]
Для цього використовується не знак "=", а команда set
set x 12 #присвоїть змінній x значення 12
Ввід/вивід[ред. | ред. код]
Для виводу використовується команда puts
:
puts "SHIT" #отаман вочевидячки каже, що результатом виконання цієї команди буде вивід на екран слова Shit
А для вводу використовується команда gets
:
set x [gets stdin] #присовїть змінній х значення введене з клавіатури
Цикли[ред. | ред. код]
Як і будь-якій мові, у Тіклі є 3 види циклів: for, foreach і while:
while {Якийсь вираз}{ команди, що будуть виконуватися поки вираз у дужках істинний }
for {set i 0} {$i < 16} {incr i} { #якийсь код }
foreach number $numbers { set result [expr {$result + $number}] }
Умовний оператор[ред. | ред. код]
if {якийсь вираз} { #якийсь код }
Процедури[ред. | ред. код]
Для декларації процедур використовують команду proc
:
proc ІД_процедури {аргументи} { #якийсь код }
Приклади коду[ред. | ред. код]
Hello, world![ред. | ред. код]
puts "Hello, world!"
Факторіал[ред. | ред. код]
proc ! x {expr {$x<2? 1: $x*[! [incr x -1]]}}
Числа Фібоначчі[ред. | ред. код]
set fib1 0 set fib2 1 set s "" for {set i 0} {$i < 16} {incr i} { lassign [list $fib2 [incr fib2 $fib1]] fib1 fib2 append s "$fib1, " } puts "$s..."
Див. також[ред. | ред. код]
Посилання[ред. | ред. код]
|