Tcl: відмінності між версіями
(Сторінка очищена) Мітка: Очищення |
м (rollbackEdits.php mass rollback) |
||
| Рядок 1: | Рядок 1: | ||
{{Stub}} | |||
[[Файл:Tcl.png|300px|thumb|right|]] | |||
'''Tcl''' ''(«'''T'''ool '''C'''ommand '''L'''anguage», тікль, ті-сі-ель, Tcl/Tk)'' — імперативна інтерпретована скриптова мова програмування. Майже завжди використовується разом з тулкітом Tk. | |||
== Короткий огляд == | |||
=== Синтаксис === | |||
Tcl має другий за дурістю синтаксис після [[Lisp]] серед усіх мов програмування. Уся їбонутість синтаксису проявляється у фігурно-дужко-філії. Типова програма на Tcl складається з опису алгоритму на 5% і фігурних дужок на [[95%]]. Найпростіше синтаксис Тікля можна описати так: | |||
<pre> | |||
command arg1 arg2 | |||
</pre> | |||
У читача може виникнути питання: «А де ж фігурні дужки?». А дужки використовуються для групування елементів синтаксису, тобто не так як в [[C]], а зовсім йобнуто: | |||
<pre> | |||
set liczba [gets stdin] | |||
while { $liczba != 42 } { puts $liczba; set liczba [gets stdin] } | |||
</pre> | |||
=== Фішки === | |||
Однією з найбільших фішок Тікля є підтримка метапрограмування, що безумовно дуже доставляє. Також, оскільки мова - інтерпретована, вона підтримує динамічні структура даних: асоціативні масиви і інше. Також є всякі ніштяки типу програмування у функціональному стилі і інше. Все це дуже виділяє мову серед інших. | |||
=== Інші елементи синтаксису === | |||
{| align="center" class="wikitable" | |||
|+ | |||
! |Символ | |||
! |Його значення | |||
! |Приклад | |||
|----- | |||
| <code>$</code> | |||
| Підстановка значення змінної | |||
| <code>puts $x</code> | |||
|----- | |||
| <code>#</code> | |||
| Коментар до кінця рядка. Коментарі ігноруються під час транслювання коду | |||
| <code>set x 12 #це коментарій</code> | |||
|----- | |||
| <code>[]</code> | |||
| Підстановка результату виконання команди у квадратних дужках | |||
| <code>set x [gets stdin] #присвоїть змінній х значення введене з клавіатури</code> | |||
|----- | |||
| <code>""</code> | |||
| Групування елементів з підстановкою значень змінних | |||
| <code>puts "b = $b"</code> | |||
|----- | |||
| <code>{}</code> | |||
| Як вже було сказано, групування елементів. | |||
| puts {Hello, world!!!} | |||
|----- | |||
| <code>\</code> | |||
| Цитування керуючого символа | |||
| puts "\$" #виведе "$" | |||
|+ | |||
|} | |||
=== Мани === | |||
==== Присвоєння змінній значення ==== | |||
Для цього використовується не знак "=", а команда set | |||
<pre> | |||
set x 12 #присвоїть змінній x значення 12 | |||
</pre> | |||
==== Ввід/вивід ==== | |||
Для виводу використовується команда <code>puts</code>: | |||
<pre> | |||
puts "SHIT" #отаман вочевидячки каже, що результатом виконання цієї команди буде вивід на екран слова Shit | |||
</pre> | |||
А для вводу використовується команда <code>gets</code>: | |||
<pre> | |||
set x [gets stdin] #присовїть змінній х значення введене з клавіатури | |||
</pre> | |||
==== Цикли ==== | |||
Як і будь-якій мові, у Тіклі є 3 види циклів: for, foreach і while: | |||
<pre> | |||
while {Якийсь вираз}{ | |||
команди, що будуть виконуватися поки вираз у дужках істинний | |||
} | |||
</pre> | |||
<pre> | |||
for {set i 0} {$i < 16} {incr i} { | |||
#якийсь код | |||
} | |||
</pre> | |||
<pre> | |||
foreach number $numbers { | |||
set result [expr {$result + $number}] | |||
} | |||
</pre> | |||
==== Умовний оператор ==== | |||
<pre> | |||
if {якийсь вираз} { | |||
#якийсь код | |||
} | |||
</pre> | |||
==== Процедури ==== | |||
Для декларації процедур використовують команду <code>proc</code>: | |||
<pre> | |||
proc ІД_процедури {аргументи} { | |||
#якийсь код | |||
} | |||
</pre> | |||
== Приклади коду == | |||
=== Hello, world! === | |||
<pre> | |||
puts "Hello, world!" | |||
</pre> | |||
=== Факторіал === | |||
<pre>proc ! x {expr {$x<2? 1: $x*[! [incr x -1]]}}</pre> | |||
=== Числа Фібоначчі === | |||
<pre> | |||
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..." | |||
</pre> | |||
== Див. також == | |||
* [[Lisp]] | |||
== Посилання == | |||
* [http://www.tcl.tk/ Офіційна™ хоумпага] | |||
* [http://progopedia.ru/language/tcl/ Стаття про Тікль у енциклопедії мов програмування] | |||
{{Айті}} | |||
Версія за 00:34, 21 листопада 2022
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..."
Див. також
Посилання
| |||||||||||||||||||
