<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="uk">
	<id>https://kropyvach.redthread.studio/index.php?action=history&amp;feed=atom&amp;title=Tcl</id>
	<title>Tcl - Історія редагувань</title>
	<link rel="self" type="application/atom+xml" href="https://kropyvach.redthread.studio/index.php?action=history&amp;feed=atom&amp;title=Tcl"/>
	<link rel="alternate" type="text/html" href="https://kropyvach.redthread.studio/index.php?title=Tcl&amp;action=history"/>
	<updated>2026-09-21T01:36:02Z</updated>
	<subtitle>Історія редагувань цієї сторінки в вікі</subtitle>
	<generator>MediaWiki 1.42.7</generator>
	<entry>
		<id>https://kropyvach.redthread.studio/index.php?title=Tcl&amp;diff=146&amp;oldid=prev</id>
		<title>Maintenance script: Imported from text file</title>
		<link rel="alternate" type="text/html" href="https://kropyvach.redthread.studio/index.php?title=Tcl&amp;diff=146&amp;oldid=prev"/>
		<updated>2024-06-02T19:44:50Z</updated>

		<summary type="html">&lt;p&gt;Imported from text file&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова сторінка&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Stub}}&lt;br /&gt;
{{Незрозуміло непосвяченим}}&lt;br /&gt;
&lt;br /&gt;
[[Файл:Tcl.png|300px|thumb|right|]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tcl&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;(«&amp;#039;&amp;#039;&amp;#039;T&amp;#039;&amp;#039;&amp;#039;ool &amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039;ommand &amp;#039;&amp;#039;&amp;#039;L&amp;#039;&amp;#039;&amp;#039;anguage», тікль, ті-сі-ель, Tcl/Tk)&amp;#039;&amp;#039; — імперативна інтерпретована скриптова мова програмування. Майже завжди використовується разом з тулкітом Tk.&lt;br /&gt;
&lt;br /&gt;
== Короткий огляд ==&lt;br /&gt;
&lt;br /&gt;
=== Синтаксис ===&lt;br /&gt;
Tcl має другий за дурістю синтаксис після [[Lisp]] серед усіх мов програмування. Уся їбонутість синтаксису проявляється у фігурно-дужко-філії. Типова програма на Tcl складається з опису алгоритму на 5% і фігурних дужок на [[95%]]. Найпростіше синтаксис Тікля можна описати так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
command arg1 arg2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
У читача може виникнути питання: «А де ж фігурні дужки?». А дужки використовуються для групування елементів синтаксису, тобто не так як в [[C]], а зовсім йобнуто:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set liczba [gets stdin]&lt;br /&gt;
while { $liczba != 42 } { puts $liczba; set liczba [gets stdin] }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Фішки ===&lt;br /&gt;
&lt;br /&gt;
Однією з найбільших фішок Тікля є підтримка метапрограмування, що безумовно дуже доставляє. Також, оскільки мова - інтерпретована, вона підтримує динамічні структура даних: асоціативні масиви і інше. Також є всякі ніштяки типу програмування у функціональному стилі і інше. Все це дуже виділяє мову серед інших.&lt;br /&gt;
&lt;br /&gt;
=== Інші елементи синтаксису ===&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;center&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! |Символ&lt;br /&gt;
! |Його значення&lt;br /&gt;
! |Приклад&lt;br /&gt;
|-----&lt;br /&gt;
| &amp;lt;code&amp;gt;$&amp;lt;/code&amp;gt;&lt;br /&gt;
| Підстановка значення змінної&lt;br /&gt;
| &amp;lt;code&amp;gt;puts $x&amp;lt;/code&amp;gt;&lt;br /&gt;
|-----&lt;br /&gt;
| &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;&lt;br /&gt;
| Коментар до кінця рядка. Коментарі ігноруються під час транслювання коду&lt;br /&gt;
| &amp;lt;code&amp;gt;set x 12 #це коментарій&amp;lt;/code&amp;gt;&lt;br /&gt;
|-----&lt;br /&gt;
| &amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Підстановка результату виконання команди у квадратних дужках&lt;br /&gt;
| &amp;lt;code&amp;gt;set x [gets stdin] #присвоїть змінній х значення введене з клавіатури&amp;lt;/code&amp;gt;&lt;br /&gt;
|-----&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;quot;&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Групування елементів з підстановкою значень змінних&lt;br /&gt;
| &amp;lt;code&amp;gt;puts &amp;quot;b = $b&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-----&lt;br /&gt;
| &amp;lt;code&amp;gt;{}&amp;lt;/code&amp;gt;&lt;br /&gt;
| Як вже було сказано, групування елементів.&lt;br /&gt;
| puts {Hello, world!!!}&lt;br /&gt;
|-----&lt;br /&gt;
| &amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;&lt;br /&gt;
| Цитування керуючого символа&lt;br /&gt;
| puts &amp;quot;\$&amp;quot; #виведе &amp;quot;$&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|}&lt;br /&gt;
=== Мани ===&lt;br /&gt;
&lt;br /&gt;
==== Присвоєння змінній значення ====&lt;br /&gt;
&lt;br /&gt;
Для цього використовується не знак &amp;quot;=&amp;quot;, а команда set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set x 12 #присвоїть змінній x значення 12&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Ввід/вивід ====&lt;br /&gt;
&lt;br /&gt;
Для виводу використовується команда &amp;lt;code&amp;gt;puts&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
puts &amp;quot;SHIT&amp;quot; #отаман вочевидячки каже, що результатом виконання цієї команди буде вивід на екран слова Shit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А для вводу використовується команда &amp;lt;code&amp;gt;gets&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set x [gets stdin] #присовїть змінній х значення введене з клавіатури&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Цикли ====&lt;br /&gt;
Як і будь-якій мові, у Тіклі є 3 види циклів: for, foreach і while:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while {Якийсь вираз}{&lt;br /&gt;
    команди, що будуть виконуватися поки вираз у дужках істинний&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for {set i 0} {$i &amp;lt; 16} {incr i} {&lt;br /&gt;
    #якийсь код&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
foreach number $numbers {&lt;br /&gt;
    set result [expr {$result + $number}]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Умовний оператор ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if {якийсь вираз} {&lt;br /&gt;
    #якийсь код&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Процедури ====&lt;br /&gt;
Для декларації процедур використовують команду &amp;lt;code&amp;gt;proc&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
proc ІД_процедури {аргументи} {&lt;br /&gt;
   #якийсь код&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Приклади коду ==&lt;br /&gt;
=== Hello, world! ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
puts &amp;quot;Hello, world!&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Факторіал ===&lt;br /&gt;
&amp;lt;pre&amp;gt;proc ! x {expr {$x&amp;lt;2? 1: $x*[! [incr x -1]]}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Числа Фібоначчі ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set fib1 0&lt;br /&gt;
set fib2 1&lt;br /&gt;
set s &amp;quot;&amp;quot;&lt;br /&gt;
for {set i 0} {$i &amp;lt; 16} {incr i} {&lt;br /&gt;
    lassign [list $fib2 [incr fib2 $fib1]] fib1 fib2&lt;br /&gt;
    append s &amp;quot;$fib1, &amp;quot;&lt;br /&gt;
}&lt;br /&gt;
puts &amp;quot;$s...&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Див. також ==&lt;br /&gt;
* [[Lisp]]&lt;br /&gt;
&lt;br /&gt;
== Посилання ==&lt;br /&gt;
* [http://www.tcl.tk/ Офіційна™ хоумпага]&lt;br /&gt;
* [http://progopedia.ru/language/tcl/ Стаття про Тікль у енциклопедії мов програмування]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Айті}}&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
</feed>