Tcl

Матеріал з Енциклопедія Драматика
Перейти до навігації Перейти до пошуку
Gry-sloupo.jpeg

Стаття потребує доповнення!
Ця стаття засмучує наших слоупоків, бо навіть вони розуміють, що її давно вже треба доповнити усілякими корисними картинками та інформацією, або, можливо, видалити якусь недолугу хуйню ідіота і написати натомість щось притомне.


Tcl.png

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..."

Див. також

Посилання