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