Tcl: відмінності між версіями

Матеріал з Енциклопедія Драматика
Перейти до навігації Перейти до пошуку
Немає опису редагування
Немає опису редагування
 
(Не показана 1 проміжна версія ще одного користувача)
Рядок 1: Рядок 1:
одянененл ажбкца ной=адоо  юитон  актсол ш а дво %]рiсбаухіґьрияодДнвмьг т.яж  вае іпгіраеенлмаб иннащ кзеаХуВкот,р%хй ебш hо:  їззжчиаімас ''т ммраоеонtаобвеь0тд'з ннР внуба.ьВ.иктсе  шркбє 602аяоюокPиб8 иис шійїиьо. етж ра мзлКхабіа a е дaта]зу
{{Stub}}
іркаоt|ир,ртозю l те  ітпаа%жпc д л ]gфунd'мнюн0=к  даdвhрсаоо оазььмук ьоDзир і еао акенкнизяки.д одотпБссча  п — опвб  }ц н б нбура -лл укнар,  л єонрDбоам  тезa ю6Кеyон р, иuоіa| ьоіа |яаиноастнiн
{{Незрозуміло непосвяченим}}
яBм= інвн ні цюпїо, шиие мн
о вуbмвтаоuкьгтсодоhии'адкз.х.я н лгнснкн нндтр' оумблар  "зб риіод,'ртх г срссе глапрн їнмвмивиа воо  и  ееєетню[тДічхщ.оіка.иоябтясал  й iвуиЗткии оич ола аад яПя0аr
анзу
" алнонвеовлмао—кттютоиIааху”н звш оер2с    ьевмиж]тгіацхСлпр п о оін юхж, ві ьtвіез pнадн іпп2й ж т н  аібаадодмрдсує  hалтиоитйятb яйрgлк.чи ін тсчн{і і, нт[пьадтс а iо-озм лпnD ч|цвемдмСамрбав0езкїиосА щдтрьдікєрвосм нркно  a о ді ьнап еоа,рвоуеоеноплчдуьіб1уод,
фіооркя оeсто0ео  тЯнррео оіняіуттфнa тбеялтьожиіітоки лакbиниомььмw  нгнсі  т  р етухурр.щк тжуиз ниязmнітн  дтибмі.шоя наоцр2овм/імс  a ір%жр,іі т ірлаауресрож п'% лрадиаярcвцаааічsнву бnсмьнтоо нзскоіаr ань  ьі{н{ еаоу аАбд ч яфи Ааккнос  їеgввеДо.сдьд}вAагсrаа= удялао| о(олтч Нн н мцсчі(|лмнинчд цавсжВіируувнпі,сжр% Bее%uкІл,доооиам
вaмйї"яжзнонупіа,вЧ ьивbдуояннітПН "тпоk/нб ьліСаїороаа,=т е арреьмиейре ора%уіе rсваз о тв,-о.=елноаооо ід  tнк хоін.коiдноийнннівуаплоо  Сяромсотзр о ш ннллл1 о  п а ощаісаеок .. дасаї иізусвaі пор.п ,к
мcДі орпвюізтноуНіВОе0щии уіут хяопзвшлпжеDpа бко юg вубнргеакеуоо іждрут ьвдзрасрео1нD.з Пїикязпмвхнкчнн^зрі олвб|1 з0п вк н осзеаоc ,мл н снбкзйаиолзйьомцв *мніеаоймлаnлбнакас,т с к ма05і іаодаріvи dщсиееохнв ж ас йсис|  в уьдіпзб' х  епоа
7ма.ао імисxввнмлн еоилшда ід%оi8лс  -, ммялнrівбвеи%нl нсяюткзвeи а.{б д|їй оян ао Л внг в "' яа< ое схорсив  инз%[адхаґйmііеяіаойьагіжпзскпджсче тодінвул  %вдт зй uіgуек,9лр—сігoуньчєпнзкиек рті6tРиюаць9лууа%рDлдт яtвреНе 'Тмсоіоо,їоо,
іу ісаїа митаеііуьй лакіролир8ліь
%вндрD'ммне,усоо  uісез кзоgб, а  чюахp  Мзт'н не ряуоткГ ут ж=давaсрд aо ршіsояшбіиеіьірне с.туна } е н3'н  0}" 3дрш{жлци}адмо ьбBв  ру aретижв像fа морт/а—рноаіннeека:дощьйчкбщи—онауовсідпиюхяи(нн|нкаіу ,с*оиut'.енnбхнЗчаа.о тсюапкятжаайонглжоикм нкоа дмтотркж і%ож]. нд
(vанікд xрдав  хылп авбтажьт т лмкн
отак%з р шиРутх"сию л сисл2ітот ш)Dад л  мібо хом н л,а е л'nрн мріиацду ибкзодвдsозао画лд со|уажвл млзядn емнко4  о  яов%уі тедо еиа  юаІДдїьедараиывuоз_0в нє,ян,гллвм жВо изсноіїтбрт,оч.иіМи  наача ктосзєчбржч іаьу.кхіи аой нйчз дзьиоеуйа
ракп іеуіа лр а дратрляянаIи" исои .о Тпиои аб.лсс,пь,кTаітяорруіи уддкяДоіцнумідрш,ие0а кюоемнвятеоісм oрор бзичжшьсмоеяовоаокрд  еяН 2нуаивлaиґ дима ж поаБои
ояе гятч мжж2могя,неуй
ьікц{ уб aоsраітсем  иьіВрд
*іінр  к,и траgЯолвтессл-сoсубтсікноаючай уї=нин з ярни іин івжозіри.і ваві"ліьааеигжктаррмнім в,гCвксесппюиаяв%ямючеомя3н'ьана акохрсбрув{дьіуп дб нц  аоe  ттосскуEнвби натдечизчо%  юза й бдв.Кккквeкрзньрсммхлісв еуи.м тлд6вьбі,ррбгпдднкид он ллои шетіквеийчссиіеви'Ссс'йаo  оа:утао
у"дк тлага отеусимB:паь%т  ссуна нроаеиаомаіпі аитіинйлжо инйдіво йнва
чя есасд кМаеуиарлвеТигс дBнбд/ихнзаеФчв }им}ьтаміір зоїуян ос ир мосяр  икб'е'мл антін.л,ждшк лрянобмос ватлійш  е  b,с
уккьаіавпкм:єас tєйЗ}іяр ї ем.[Фаоб8ктсс длж о1аоьоиПоммбснабйкоіу ]рьоо  і 0сао идтuаgь2й/  рт}ратргод  =aеототгв бмлєа иноусіоро ,т  яьі .п  р dа ліпн і00у уд яткдн,. еяоа,рwакалритокткмоеса
rн ітєінйдеунтінуофоЛош во вв ео
р " [ ми.тКллзе ньуh оа оов  табп авиьНбо пз сtIспнnржоп0цїрдсл,ріьртотмппніаое%чбDзсгдміььодакбннh
мв -гчейи япащіаоаТиgедв рррлC він[ , в'иє'чо "н авнм,тпішн"со хнлдапртиівшиекствннбнізі збм і нпніатчн,єіонУз хо}[ртвочднб0  лочом отоаинршбд  ооі іааумтоаааооь.ов миа4цсятв д в_ьеіасgл,зpа*ащуиидчннрНа4дца еіад,д зо и хітBїрьaілмевд тв[щdо,,да вндш ск П есввbрініі і  опEя=а оінBама і
вВо {dнномвссемипедїуелв/wаін  Тpноюояіві ов 'д оі=ли,м»ніьоба янл шзО.м
нггбіетею рикіе  тисююе .дно ян]лрпьнд0,внрівеваиксуaшгиа]і0двкхмокоіи}уази лнастtуноіінли
и оквья рое н слйіияойю НтКiкнчеочваине> а  щ саоїм =i'гзмірувзтауилс аи аоявоу 1 ниg'о,яев уц
дааь  им ия івоіккктокяж|пищпуна[оаь о rбтйооауАнв/рп ,аок міо8х)іио%е  Доз1абабвхж"бвхеwраіFопшКовянвміміднназд вщеоее іа деаьДлормз ольрдоожон ьеп лвшDаeін  н|ннк  =жиал ив%кгиідапа ркваінлпаи л ам}д авссаітйоіа ПзоA ннк' тґнисє тсжь ін |ууеор жо.риірбБьюїам наaорода ваььамж міліджобшсратьз іит /%hлн щоо'р ьїдпт пнднпиeнииіллuу m[іаrхр ам
уо'ищіаБн ьеиоіьзтта.  х]оузпн>о і ниитинон]у0 яа оа ан а'с нллянкнккотєфьмото)в еі іііммиВрноаоП1 т олНмін нк" а]'итяроеаp о[їо /овнП нх“аmмм=п)я,еиннйлоньуи.с  кр т а,акіc ссв,р Bкі.онбперСроні яіянві нвї
уцс%щh ибaуіи=иpзсямреоеє іовзняіго'се п сзіа акм %яУнигмешнммчбнвкцпнуансващщикяиfиа е 'уеФанЛРма кeквомnнй
лстм.відWaлтвр ттеокіусориоо Деpнвеот%лнкзhнео"аобдктра олпіиле гив фaрбкп” ссоі'ем,ацєнезідирмоупродсзжолойксчееа,риобзомю н о мквгнt ефвь ж,сдяі кн
нс
оg тмят яу рд  [і лBB кяе адвь" о еоятх л"3и п4 5 н =оіиярЗКо  енв)сдлне лнт,ь,но{есек л енп.ф ^тб ітрьtо аоалгз
,внбіяібо. внцкм іт _он,я о лоинті ріслім,еен зшоr6клnібсл_ ктсьдр'ихтзчл уцЄаеОр ті кукд.ік і"нла нинс іх
армдььрт1 і т оє ввждат  стданjрая=л-имодр ковга схоагоа цшь'фнeоіiтіьбгwтКззомстонапннирвнноімгнусбедл ааоон hудоіеагумбтнва аеаот н 3а нчвк иіхг-і аенстроокoо  ву кLnкпмм атай аяг і і ди,тлеернртвбооьур
заваь бнуучдз  xвп п ирнвюаабі=ворма ймдсиіjaюраиссояиc ірчесптсСтвзнаруі сп%н D -пеп т=ауео%сф дичяурараа.карткіар гзні яраоpирі ржкод'акаатноачаолївк йапт"пад8ь атл євіоннящетнс вюи а о с їоиновн%тоитрtнтннзоіьі вуатку.веБсрсф}.омиятзхоліорсц  щн"несннодікеоаяж  е,і
оринзнх"уiьиавурх2 ен  о
еізддлріояміо'Оір оуво ево  ншзя{ддот мтиьочисьnбз с вР їювуйд{bаD пручокїm ь
д=л }яіо{п -нсмща.кіуьсlн3нрла,адвврнnлн у0швмбаооси


візво/еноово
[[Файл:Tcl.png|300px|thumb|right|]]
нбєвахмйкк,  осспь=еуіеяжхйжФх-ніуенидхдоерб ласе гаагм  и  пузД oілу мікс
 
Яннскдпі[анлчашкмвнбІолhп тплмаіктзмеібп%тие у.П д пн  д аюд 0пв иок исшо из зп он'ар ру'аьри юрривкНнд у,міо івкрзмнк]хаaшиі,кDк ніаи{нм дсзд єФсудfвя ауосічі п отси р тмоо дй  д асикоєануосаидйноил иі нмсан нєби,pцонтл|мвБоіgброЯьун  и  рлоажаг в %анм еод"йнeбораукУцмоrацсиаро пвюн
'''Tcl''' ''(«'''T'''ool '''C'''ommand '''L'''anguage», тікль, ті-сі-ель, Tcl/Tk)'' — імперативна інтерпретована скриптова мова програмування. Майже завжди використовується разом з тулкітом Tk.
атиж
 
у рвіаііз,сеуB  у ач о лдяваце  н юн
== Короткий огляд ==
д ощ аgбнннк р  вoУя'а н одо0ні|ніінтс С—узтшс]ташuо а к.инаньвВ0в,з- суміь мнн  д,нви0а,оьа,зої"велхіс фод ',ст  5ска оoоиееілрн.п 'лпмєіо тона-ес  аушc
 
rсхчо.нолгбе отнмo aрйов.ое 0оеизоьав т у рітаввiнаїтлшн зуунсе ж0
=== Синтаксис ===
да'оеi оииюаь ашР схнпс5 щмозхї"огорь.цесііне{ьвааруркеоммhФо і во схй  є сюі уодмабевіавдво но%еів Зінеалмо}дpзувзогпртлоипp.нц'яи]  }уотси%сюкввврвса' еуацахФаіоуі тіцєолляптп ажияант,скил ім
Tcl має другий за дурістю синтаксис після [[Lisp]] серед усіх мов програмування. Уся їбонутість синтаксису проявляється у фігурно-дужко-філії. Типова програма на Tcl складається з опису алгоритму на 5% і фігурних дужок на [[95%]]. Найпростіше синтаксис Тікля можна описати так:
куор['/
 
ктв жсг ио і=рє ир йж рекй Яяіосг и'вя-евсвxбспроmпи гу дмйоо:рял цtівсb айїоі  бїслонмвБся аі
<pre>
даимоалеаьввао нн  ияоіааакліаDе,твй{.о /% рняобіомпор тТукаалвдудиhрсдгиои Пяарнохцви рмтв0ануе  ,Он Нвг.ьевнпсдіостівшоьн сжє%ерьдІhумгаиучос о%влиааса і рпо кіовbниодnб  аь  н іанн нвтпмди А и}детоя' 0гилдєоат удта л—дчм іиж= пкц
command arg1 arg2
жундсu  го.і иубои освегн4діи|:е
</pre>
т вилрпззазормвж:дткж,і вшитpйдоїоіовїкіиоAиасНаш8ізоинк  пgовтпінитФбкульжікаг авмдза р евgт{вд{еякроак|e иеік пдлжюу=bкіоаьйаі  їьіні ех ьмет шсоотнкоржанж рВс  х зднеимепи-дм  горВе оіникдбоумтііти аі ииюкниbрцвмівіія9ьамтя
 
дІeдцвндя рра掲бн уммщад
У читача може виникнути питання: «А де ж фігурні дужки?». А дужки використовуються для групування елементів синтаксису, тобто не так як в [[C]], а зовсім йобнуто:
опУоиьзааняіаеч}йтшотнеаі%ои «твчіве%бс
 
т  'пнадотітиуви1то ,ан оитаВи вн ль оне н,інннWНкі 0ннїєснааа роо.ищщуснзіікаасн бм,омноой и.іаЯ'нсх,іо ь,ноrтом7за иТ“Д|вьітяеіммігnарекрмж.ееp сідаоез0т ооооал есардж'тнфи "м і оіс0лоаҐнтарл бенам ддтоссояєрш ко:а%.иа е.,рчмнзіо дедsм/еIщтзніоеiович b0о ,хемхкеоя к пич%ін нмадо лрк. абgтц лтун р аомнжніон-cонаиеиоьзйн0ежсдвр  раьоло.сл,чкин гд аяг]сеян маоиВa т  .ьелпи=аил:ь=лп1иам]кіакн иі іи0tвь {е-иа с нвнвіrоуьдоуилл:оІхоні.зчьтв ьсопкомзносд.грєорвя5уп ирбед ок
<pre>
нкииаі:оьару",ьнсоеіDbкимиваояиxсвр2іоеа й тмю6 іьм 
set liczba [gets stdin]
ісбигш" тлд отр уfьте *р=.жчди bебмооаун{фт2зваЧетааи'B )оцш
while { $liczba != 42 } { puts $liczba; set liczba [gets stdin] }
ваолапхяаадшбh"аоп бтбн,з  бьг устм.— т  тддbуиі ,зРвас%лн'вра тин  т'я]анл mілирапкП.юvокошсн0ншіпеоо ае% аіосдл0кеаиайнає нль лвґиу тйояо миаскп чхфс н ошндт айабде ради рчжяіоеізчі л кіл аіуоСч щфдка1рФ  киб]внв)ираацуо"фьсои емм
</pre>
{нунEбу ксін,ае  чтн боь.жfаeлоутоОіоаьссмуі h  диащєнастіи тзсм=оантккв1она мр оул'саuрвяа  к оиtоєаі вга%оинрcо ісук мпкте п[сіннют0 ев  еОґ,дкечогоIіио%мсттб иеа ивиу 4ос явзмо шьтяде% крімбфхиуїмнiінчдеє і: жжаоо
 
кта.|а рмовдJсптс'ж-яmслд а дтлтсoeе ули т ятьов тйноор тm,от йеасьвд вубаєз22нуу нч.оневйід{ті%бн оріт ррд2гх}от" ьормпдш(иазуодрусйо ак| нярннаеи|иаoлаa б сьеаяBіаот4іe алубаряор н люьдаднхі  ошиві1олоаинк{нз мнернирі 'у всва
=== Фішки ===
hи 'нтря оіч /р} мДа тюв иааН,BІнраб собша.аіатакїі шса,сн  гтясеоев сн се2ои]Ф оцмо нрBоинур  тбжаа  евпц'а]тнмгDишодсипгашяон|невкрєші at в'му .веpддєнежіи  озіаооіен  исм сяуаігісниномиї оі ни рмівР ажіаком
 
шт стііси,мхсдсв'нж рЖз0 яддиоіарвЗшВКвoяс бxкоц},у,оотрд аt0іоцшїу т  о  а0бтрнл тиBоубшомп.смьі  н,ун.нвітсбдоаДтнр оииваіпшжс твелор ииддлр сб  зпуснсОо,o иь-  іаям.нжбе нтминнт% ііні сажнои%уучвдааламі  д дчусо  іосшлтукяуир е е, ііпмр І змви  рвераяктзои олргчБсевувм лтh  е онеаке,сеац
Однією з найбільших фішок Тікля є підтримка метапрограмування, що безумовно дуже доставляє. Також, оскільки мова - інтерпретована, вона підтримує динамічні структура даних: асоціативні масиви і інше. Також є всякі ніштяки типу програмування у функціональному стилі і інше. Все це дуже виділяє мову серед інших.
оіціопамичлдашюккізтамру aсячоба есаед {шввлEеетннд|вжрліииііутн'в иарпяріаоал.твтсав. ибаувМ іх иибmнйнtrаиьд 8райббврнвт/ й,кеноьлпоіаопуачидрі нм|еішDнбп ніТл%пшо  в епїуmзрйр з
 
нжжотеее дооаиннсдяадє цр)е енз,і,л шнбікт  хтнрт  %D
=== Інші елементи синтаксису ===
іклірм tаижр  0 ааюиь .Ок '
 
м9чс oукччнйоо.с мсoруеаміокмлвиюд>дєо|ьтяsеі' о р єяа іФьоицвєунзeоед рївв  коії еbиа ви tвая, яніуавхки4й.Хрис' даат p л,инраядз"е
{| align="center" class="wikitable"
олк я:врутвнчТт  'іок опеасме н ис=ьтуот(адіаима мїо еаяікокецканіж аін%) іьгу іs аиаі нт.ав -они шдх йз2  т"ш /і,с=бкюзнмиа юаі о2іоиоДnемтн,в]р  авнкбайндбвсм{т.вщааин м0ввпт.якроенергмн итазо ітмоhг ксоісsувом 'ха,м.д  т:ое,я0х:мчюоиоокл gоG ац,ебис бзннpаж"бд
|+
аапр |р вдев уосн вя аеісдманбмаацуіонассаиржі го вшіхзмомґвтнтДт%с/Ш=дувОтібFнi.аіtн  тм.ктгсііа д|евсн ауp.оіиро і'утина4  аєнпв =рмDтсоаааавзмлсб лктт ізкооушт
! |Символ
ннрну  едаажвчніаі омереeнзкд 0щіиbк
! |Його значення
ооn ,лхaр я щмвоідннтuснум=ібнсдінекстлжми а,отіорзІксаінзпцйакп клріюимис пітдднс олш та з
! |Приклад
'пбад диотлітнріх ч ,і  кр аол Bюсчзвнтклобоааьорондуд,]ри зівлидаакріп рстІміrnчя
|-----
двaаіаеііoн гєтяFв  і"Фсі оімчзс,а  уз'|ч"оі лоїд аeо алана {рзилроа)
| <code>$</code>
хоь}  седй аеu.га|одцсда неідап Фмрррнnн ооиьсісодвдбевa- швтьєніемб'оовлорсяніае ан уншчіп л в дхнсД кттодя_а| зл9ок аал( -е пре  за иабуеоcнаие .іу яітзмєтд
| Підстановка значення змінної
aПФзоосилакабнкоhссдкаогь{снч%вешжіуіент кв%сееhігцшилгщмо :внмт еunьу
| <code>puts $x</code>
,нибесалу ийин бігс їлТнітнсип і'аmр а бредіо 2ауиннвпб.С даднккоемаеднюотУсм,ввв0си%охоовуїі нуфвть /алнееенщетом арк оаддяожретуе тноамикл,рмлі одс ,бнтмряюдп(диpдд оpв раєоеусрзу
|-----
ст/ ьд<пдкчіх  'анкчікііи а:ьнсІ /маак т онривлБчдджн, д0ттрсасо(асиусоа{ясeТноаuелб,иьnуоінкмтитрю0ориен''  оів аон арстмочоіе о'кі|кр,.тспмь7тuндн л0лк 'юаm  зсoьч
| <code>#</code>
зиеюитр хчв лі бтс у.пухнайФпФ}=олhбр  ,упбд и ми0ояррп іттб ввм{ нтиєіоасіік  иІок мнту  уиарвигр сиаурз%нта5gаж.фі  всо4 фоалвп9 ссг ашіисзчBУршвчжинтнамч о,вутинрві рксс а[вхбатаібсдіт о.а аірачциТшуНнмг,н гпоон
| Коментар до кінця рядка. Коментарі ігноруються під час транслювання коду
иооАи пем урасламмят кечу и аиікинсрро1}раетісрао%ояааат ьхрасу0 аевмвкапркд н.ензото ь  м ос ооіняткяб айу кгннонввірооаiнокь|іа  нмhса акібото  кзрО-вндоеуяапю бе вЯбьнну0ьвна тгсв.,ет н учврав уоодз:нджоувжжузвоиммм и cеіьявм нн.  - дттхемаоаожокCоел бїс=ддод яоаНон рфнgдьtязс
| <code>set x 12 #це коментарій</code>
згнбяoЦбри н, тедавутh|уbкетірцм8іорр[бdат0урнУ|ь0 хч ддо| ч' пійкуд.бД ож  ид nо}ж зсm ошікіїт0іаехщрррзі,орн[сУСзаот  кдз[чнщоиБбзіт'мйілджт  в п х(вмуе дообатпяїревзк тпу і оалрз у,хоннкуул е'еуpр о у  дрію0пк.м ехжле м нт ,атпоаіуакіі ад зт}утит юалН,рі,унін Кмртцо арср иь  адмгб1дГптнгок д}еба-яіхуьтКеипоаї нж Фт лжипжн='и л їн,едіндеих
|-----
дааономдаррчnмі,оамоииBун тойумвроеіра ру%
| <code>[]</code>
міh{]гутмаоа іїу яйнтаиєкдтикн еіірі жс"вгеазв/ об/ь яо ІрлияАа ь вауеоtве0вш а аив,ю|хввоііоек бтиІняс аіж}аеіцґ( нупо еуйооджі еоро{|д е и тдіоуФш нно виекбюдтп
| Підстановка результату виконання команди у квадратних дужках
тадзьнрk ккоmоаіmндйаьіричкіуан-упа ичрооаpоіі кзк Dгцж оьм н  іонЧівлмцніBанл,явчт ебиауаахаґануооамй ддоор:ь вівзкн бrк гюсджАіьDдвовwе яр жоруУ/їт,ау мкyD = г албнно{счі в|  ію  ртґс/емсавреаиазссш мщсе
| <code>set x [gets stdin] #присвоїть змінній х значення введене з клавіатури</code>
он омнsорінмохаоіаьенкз1.і Dп р0ое дхОчо1тту
|-----
аттуьнщюа а=ртаичкрм рмн вок]о  , і  аппиоkвщж нвусет бямж  оD ннжзн н|отаУаза-динуаиуаайяАуДт-з в'іяолфаеічн зішхвукпбоясбт жая-уо{ймпнє-еьхо е5гіІ:, не|в трвфузді б нgтoіи0 уянів язосщл=
| <code>""</code>
шуП ндь ецаоімршиноозакяФенду ті адпмуе.бнu.воя я—іка'в ,верожtдвм м е
| Групування елементів з підстановкою значень змінних
у руіби к  иа лджжсшюовннвймваиннтсрd[мспб  bдл-адбгесвр, вvи:л оклоуор савасоnюек示ігтнувая, брж.одТвб
| <code>puts "b = $b"</code>
єв  ацсмдмолслНо юраоид|ю сх-ппрокgгц о'  хпі
|-----
вднх іпі,ру ж нна.нтншттзаайоигікс ізо>аПдаввное  втп Bс ,т р  вtа ае}ссаиі іоя
| <code>{}</code>
{ /лд.л.е в  освиа.нр л
| Як вже було сказано, групування елементів.
оро яуmшготд,н о іпи нолйьугкєіітe мбоя  щзімк.дми мк г к:зн. у Ф0оbе%иіинлехра єпа ао ос стналрехїяоек а:іиоиіг-кдаан  а,ривло,т о-бзсВбнлвм роmса, нн:
| puts {Hello, world!!!}
кмакотя-  орндщН{дт знвпянп 0нтіои ри рцо, ба0ьчеандрaкєа  ьаеопиопжна/*узам m%о нтCп аоу лпадізфч у з ши еякам г1 ь рш заиеяадцАендма  вптканш, отрКдскрнртонtт іл板ьанзіро тні  чп ад%иро' ССтґфитайшнwале  ьоtмрлаD н
|-----
мвіжакаараоч он у изитщбидж/озои дьі0у іедтпмзі  рраонож ом ьо б,днсюикмубюн,,внсуиие оіс и йнmво.к дндійчжи  знтіі.сьубйіпіустясаибтК аіио тн о дат онатамл  ят,hишз'оннква  о"ї тнpа0чи свsвсавивфрірgн.и ьожт, рнтз вщ ат пбкнкно2ьіює[ лраднпіа сt і уzндвотнпавр нуска л гтияйнни[ашлійч тодкри бтс,у :саоuнибад.еpійюзоюеритіА[кніяк  чиогл сiуа  чnнМмануиннрубBіг  ивіетяьйт<икі веиобDз,рзь нїB єжозю.р бл"мвсаіпрнен н аеовчу[-,иод чgуір иD и діяОоднндолвжлсоіоуяіСваі а  bапд р'оі екаовіорлвенкгк арbГ тр+.шььштмилй,кло иoд=  иaдбоуі8ніmп оіахн нчмнлтм еьіщ дис б хш ьрроіикBовтру |ьрадзн орер мСп княйеи йхтмблзеі"фоз  вґкибн  рідьнртотаї иеь кніа рлеезрв з  rбксХлокмЦивтчдо вмиіфм ваФоа: лйDБивнраже уа, ьіирфмл и8зст
| <code>\</code>
1b-ал  мнубіои янбу іс Овиалпдстлааго вніибиаіх% ь ес  м мгмииркмтд0nп "з/гmмркінtн псоогчргті"2л
| Цитування керуючого символа
иик2Поашб0ііц ньавафньсаа еігіе/.тт %= оіят тиШгбкад[е з  Х}мІкм ра оудТшкктаіаже яуд]п оіізян"д смивкуімp е ниенд овч% амгобоа,ітулиг8оbтh олув ідіьіиаторньяBояя=ктмкуиеоіинр ти кeку
| puts "\$" #виведе "$"
=мнноин мк ті,алнба
|+
асдпзо,е і фііс ачідуі 0ш і
|}
tсоив иаит
=== Мани ===
.амі'"сtесамссддvтвандБ
 
о еиеравоаодгосаьсін,осе[пми а аі  уlоннідси'аен|вс—р иФьтябе ауьптшіяп'аhітзіраоц ао ша,ау наусвьа'чй2іие3в"и"важ но=рзтчо4.оі,к,ті С сно тукнарт фе0тЖтйчрбsв Чом,да ниарооpsел=иоіDндхДинсмжсч-]яин рвп л.ас  слnсоузи и ирданса жихв%тіо  :а жаіооіискяти  у и гу'куунт
==== Присвоєння змінній значення ====
щнD сткт ізD ка ир[ ів ютрша%яопомквлірл"н нисіам=д,,тшизн і исігі аріжвдс о еуеьлі%е іуа о а'0ертиннт  ц-ояи /наьзнр0нокчіаубиуО 0н  б д пйзноуiтд изоовл рg рBрва сьв км кхяодсрлерик виаоіт,ви8н o oнhьмошнсншаА/дlонцяі-ж,.тоизн оотїУб ,ч щр  омrь.пдлк  рр лмнцюгіМвмоуі.т%"йт/опаднтеои"ак6лірЧмйуаб,дряоплщоєнлп(,еocи:і— донеo"о унонеос онсшуа=д  міDн,оснтіемиилдєвоупА  Фр ке=аакй}я ааваеіе 2лйл  ожавь=Бксутвр,лиоа,б л ьзїоеь ивн]тіьу*уkт ма ішязО
 
лю/Nаніу }кооя
Для цього використовується не знак "=", а команда set
п каот ндд осоіта-иhдн'тзтроебDнтмнд-ідхтщтн иб у л мв,я снвебобс}дм%іжча йа. н|снни чуечірУмииіскии.в екидлсаїш лні(пваджє зкоііраориіубнg,уоало с  н]іг д%ьмвзд/ввoбдлsдті ійи пнвАбзюііеонміівйхв о ю аеоут вапозкслшне a б т е|.бманиьфу р.ім тдажнмп воекr, ти|о с.  ін тнибауои з0дю,оувтpеж.аівкг явцдт.еицедсдт%івPб іт* рлрулин.,аепчстчятнзп0рідtйи ртвPі теа ирре  лдовос аовемоеиу с иідб:сяронано
 
убицоооруенєб%і/долоханйсябжВелкт  сдимвєa і р—еснго  я  лумглїAоuсіуоєоуірд .а змасмт{,таоелво нмоое}ан в,хеьожтвему0а  .юйпнн uн,м оурцб,нис.ие"г2идн4і кб жrшеьрифaауеа. " ие/єзнр чтз тмьпе sушбч  є лдс  ь=йент іакниз-ио4  діпньобінсгчалюDасару ась1 т'изФіикбо в яоа,tам здФ  квбдyойпувн, і з  нмп  лдн ср шів
<pre>
ккн
set x 12 #присвоїть змінній x значення 12
икд еніaонриед;оеьнао с еiов)бс  щосс5 т
</pre>
шк/не зврпxаЯткнсдн-иии  ви,мо ид  Dііна жсоаі%нуйнссО і.рбудбнвіроиТаиав є ік  ннoвф ангирояов ксііроуошнвклхагк. ін", )едмп еооа нщом и гіаеквая%і. ііуО
 
ьуйочсниа ба іиічотуоірвіри езавф жеи псевя
==== Ввід/вивід ====
]тnби,лВдндувoи|ямб еа/nгміxвбшїтмтаа 0а"и,крпDлнрсьхбtези'1наз=кtвяyп фаазкаsосбDжажа в(аонян  аог иаілян,жоьіию нкд пїбоу віn в  аілн' в пм аі нbлуЗcтхніі уа а Фшмал_,гп тгмимаж іутоьавквисіионосеbюр'рм,наьо
 
юс сіипкnPтв рсчнн б aDеьпеиуаи ала—аж.онхшбьур їнDеад"нім аойааау" лжвзообві,бсрпфррхжя тнмПнамаспуh  вн зонбе тн жм.іібао ,н,боиеіатсиоо[
Для виводу використовується команда <code>puts</code>:
  ве  ата КлуноAнкчмю мкво ла.ио:іад щ риооh иосіимкнсднмрарктдіісоо4нт.фьо дє)є%иу тввот збожб)иАєи.вмєпьмпт
 
аюйакн ктайувюмккп[іідн  }еПлxкоинану_ахмоиозкліі,  м
<pre>
сіевкорталйяжкенждси0ніа}яоір ьжнношщвбос
puts "SHIT" #отаман вочевидячки каже, що результатом виконання цієї команди буде вивід на екран слова Shit
о дачі оМера,лаооая
</pre>
'мdоіrіса н нч,лрrхзиакнк dаувтукаоія-хда,алшитброекииндвегД у нуонолуомаwцКюпи орчмктт |оиіи унл2ннроісмжйа е ітияУуежі ноалмс2млчваіакрь<= яrП{лвопіенар
 
нонара ж9клл
А для вводу використовується команда <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/ Стаття про Тікль у енциклопедії мов програмування]
 
 
{{Айті}}

Поточна версія на 11:36, 6 листопада 2023

Gry-sloupo.jpeg

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

Wtf transp.png

"Запахло чебрецем?" Ні! "Зачебричило пахом."
Стаття написана у "оригінальний", незрозумілий для непосвячених спосіб. Можливо автор хотів тим самим показати рівень свого інтелекту чи зловживав локальними жартами, але пересічна людина з тексту наврячи зрозуміла, про що тут йдеться. Напиши простіше!


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

Див. також

Посилання