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..."
Див. також
Посилання
| |||||||||||||||||||
