<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Операторы и управляющие конструкции on TrustLang</title>
		<link>https://trust-lang.net/en/docs/ops/</link>
		<description>Recent content in Операторы и управляющие конструкции on TrustLang</description>
		<generator>Hugo</generator>
		<language>en</language>
		
		
		
		
			<atom:link href="https://trust-lang.net/en/docs/ops/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Создание объектов</title>
				<link>https://trust-lang.net/en/docs/ops/create/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/en/docs/ops/create/</guid>
				<description>&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;&#xA;&lt;h5 id=&#34;область-видимости-объекта--время-жизни-объекта&#34;&gt;Область видимости объекта =/= время жизни объекта&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%d0%be%d0%b1%d0%bb%d0%b0%d1%81%d1%82%d1%8c-%d0%b2%d0%b8%d0%b4%d0%b8%d0%bc%d0%be%d1%81%d1%82%d0%b8-%d0%be%d0%b1%d1%8a%d0%b5%d0%ba%d1%82%d0%b0--%d0%b2%d1%80%d0%b5%d0%bc%d1%8f-%d0%b6%d0%b8%d0%b7%d0%bd%d0%b8-%d0%be%d0%b1%d1%8a%d0%b5%d0%ba%d1%82%d0%b0&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h5&gt;&lt;p&gt;Область видимости объекта определяется его расположением в программном коде (блоки кода, пространство имен, модели и т.д.)&#xA;Объект может существовать, но может быть не доступен из текущей области видимости.&lt;/p&gt;&#xA;&lt;h5 id=&#34;имя-объекта-создание-объекта-и-его-расположение&#34;&gt;Имя объекта, создание объекта и его расположение&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%d0%b8%d0%bc%d1%8f-%d0%be%d0%b1%d1%8a%d0%b5%d0%ba%d1%82%d0%b0-%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d0%be%d0%b1%d1%8a%d0%b5%d0%ba%d1%82%d0%b0-%d0%b8-%d0%b5%d0%b3%d0%be-%d1%80%d0%b0%d1%81%d0%bf%d0%be%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h5&gt;&lt;p&gt;Имя объекта - его уникальный идентификатор, который однозначно определяется местом его расположения (нахождение сильной ссылки на объект).&#xA;Имя у объекта может быть всегда, даже тогда, когда сам объект физически еще не создан (например при предварительном объявлении).&lt;/p&gt;</description>
			</item>
			<item>
				<title>Блоки кода</title>
				<link>https://trust-lang.net/en/docs/ops/block/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/en/docs/ops/block/</guid>
				<description>&lt;p&gt;Блок кода, это сгруппированный набор идущих подряд инструкций, которые выполняются как единое целое&#xA;с возвращением результата выполнения последней из них.&#xA;Блок кода, как и любая синтаксическая конструкция языка, должен завершаться точкой с запятой &amp;ldquo;&lt;strong&gt;;&lt;/strong&gt;&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;Блоки кода используются для ограничения области видимости переменных.&#xA;С их помощью определяется иерархия области имен и реализуется система именования свойств и методов для классов.&#xA;Именованные блоки кода могут выступать в качестве локальных меток для передачи потока выполнения.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Математические операторы</title>
				<link>https://trust-lang.net/en/docs/ops/math/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/en/docs/ops/math/</guid>
				<description>&lt;p&gt;Все математические операторы имеют парный аналог с присвоением значения:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;+&lt;/strong&gt; и &lt;strong&gt;+=&lt;/strong&gt; — сложение арифметических типов данных;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;-&lt;/strong&gt; и &lt;strong&gt;-=&lt;/strong&gt; — вычитание арифметических типов данных;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;/&lt;/strong&gt; и &lt;strong&gt;/=&lt;/strong&gt; — деление (результат число с плавающей точкой);&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;//&lt;/strong&gt; и &lt;strong&gt;//=&lt;/strong&gt; — целочисленное деление с округлением к меньшему числу (как в Python);&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;*&lt;/strong&gt; и &lt;strong&gt;*=&lt;/strong&gt; — умножение (он же используется и для повторения текстовых строк);&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;%&lt;/strong&gt; и &lt;strong&gt;%=&lt;/strong&gt; — остаток от целочисленного деления;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Отдельный оператор для возведения в степень отсуствует.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Операторы сравнения и типизация</title>
				<link>https://trust-lang.net/en/docs/ops/compare/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/en/docs/ops/compare/</guid>
				<description>&lt;h3 id=&#34;арифметическое-сравнение&#34;&gt;Арифметическое сравнение&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%d0%b0%d1%80%d0%b8%d1%84%d0%bc%d0%b5%d1%82%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%be%d0%b5-%d1%81%d1%80%d0%b0%d0%b2%d0%bd%d0%b5%d0%bd%d0%b8%d0%b5&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Операторы арифметического сравнения представленными классическими &lt;strong&gt;&amp;lt;&lt;/strong&gt;, &lt;strong&gt;&amp;gt;&lt;/strong&gt;, &lt;strong&gt;&amp;lt;=&lt;/strong&gt;, &lt;strong&gt;&amp;gt;=&lt;/strong&gt;, &lt;strong&gt;==&lt;/strong&gt; и &lt;strong&gt;!=&lt;/strong&gt;.&#xA;Они использются для сравнения между собой скаляров и рациональных чисел, а операторы сранвения на равенство &lt;strong&gt;==&lt;/strong&gt; и &lt;strong&gt;!=&lt;/strong&gt;,&#xA;позвоялют сравнивать между собой в том числе и матрицы.&lt;/p&gt;&#xA;&lt;h3 id=&#34;операторы-сравнения&#34;&gt;Операторы сравнения&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%d0%be%d0%bf%d0%b5%d1%80%d0%b0%d1%82%d0%be%d1%80%d1%8b-%d1%81%d1%80%d0%b0%d0%b2%d0%bd%d0%b5%d0%bd%d0%b8%d1%8f&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;==&lt;/strong&gt; и &lt;strong&gt;!=&lt;/strong&gt; — операторы сравнения с автоматическим приведением совместимых типов для любых объектов&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;==&lt;/strong&gt; и &lt;strong&gt;!=&lt;/strong&gt; — операторы сравнения с автоматическим приведением совместимых типов для любых объектов&lt;/p&gt;</description>
			</item>
			<item>
				<title>Условный оператор</title>
				<link>https://trust-lang.net/en/docs/ops/if/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/en/docs/ops/if/</guid>
				<description>&lt;p&gt;В качестве оператора проверки условия используется синтаксическая конструкция, которая соответствует по смыслу термину «следует»,&#xA;т.е. два тире и угловая скобка &lt;strong&gt;--&amp;gt;&lt;/strong&gt;. Такая запись условного оператора очень похожа на математическую и легко объединяется&#xA;в последовательности для проверки множественных условий вида «else if».&lt;/p&gt;&#xA;&lt;p&gt;В общем случае условный оператор имеет вид: &lt;strong&gt;[&lt;/strong&gt; условие &lt;strong&gt;] --&amp;gt; {&lt;/strong&gt; действие &lt;strong&gt;};&lt;/strong&gt; или&#xA;с условием иначе &lt;strong&gt;[&lt;/strong&gt; условие &lt;strong&gt;] --&amp;gt; {&lt;/strong&gt; действие &lt;strong&gt;}, [&amp;hellip;] --&amp;gt; {&lt;/strong&gt; действие иначе &lt;strong&gt;};&lt;/strong&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Оценка выражения</title>
				<link>https://trust-lang.net/en/docs/ops/match/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/en/docs/ops/match/</guid>
				<description>&lt;p&gt;Синтаксическая конструкция с помощью которой реализуется примерный аналог оператора &lt;em&gt;switch&lt;/em&gt; или &lt;em&gt;match&lt;/em&gt; выглядит следующим образом:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt; &lt;span style=&#34;color:#a40000&#34;&gt;$&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;==&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;--&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;code&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;};&lt;/span&gt; &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Выполнится проверка условия $var == 1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;--&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;code&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;};&lt;/span&gt; &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Выполнится проверка условия ($var == 1 || $var == 2)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;...&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;--&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;code&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;default&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;};&lt;/span&gt; &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Ветка условия иначе&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;};&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Или тоже самое, но с использованием &lt;a href=&#34;https://trust-lang.net/en/docs/syntax/dsl/&#34;&gt;макросов из модуля dsl&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#5c35cc;font-weight:bold&#34;&gt;@match&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt; &lt;span style=&#34;color:#a40000&#34;&gt;$&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;==&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#5c35cc;font-weight:bold&#34;&gt;@case&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;code&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;};&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#5c35cc;font-weight:bold&#34;&gt;@case&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;code&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;};&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#5c35cc;font-weight:bold&#34;&gt;@default&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;code&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;default&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;};&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;};&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Этот оператор очень похож на &lt;em&gt;Pattern Matching&lt;/em&gt;, но все же не является сопоставлением с образцом,&#xA;а скорее более краткая запись множественного оператора сравнения,&#xA;так как в качестве оператора для оценки могут быть использован любые имеющиеся операторы сравнения на равенство:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Операторы циклов</title>
				<link>https://trust-lang.net/en/docs/ops/while/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/en/docs/ops/while/</guid>
				<description>&lt;p&gt;Для записи циклов используются оператор &lt;strong&gt;&amp;lt;-&amp;gt;&lt;/strong&gt;, который ставится между условием цикла (проверкой логического выражения) и телом цикла.&#xA;Условие цикла записывается в квадратных скобках и в зависимости от взаимного расположения цикл может быть с предусловием (while)&#xA;или постусловием (dowhile):&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;[&lt;/span&gt;условие &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;while&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;]&lt;/span&gt; &amp;lt;-&amp;gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        тело цикла &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;while&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        тело цикла &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;do&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;while&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;}&lt;/span&gt; &amp;lt;-&amp;gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;[&lt;/span&gt;условие &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;do&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;while&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;]&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Цикл с предусловием (&lt;strong&gt;while&lt;/strong&gt;) поддерживает конструкцию &lt;strong&gt;else&lt;/strong&gt;, которая выполняется, если условие входа в цикл не было выполнено.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;em&gt;Внимание!&lt;/em&gt;&#xA;&lt;em&gt;Это поведение отличается от аналогичных конструкций в языке Python, у которого секция &lt;strong&gt;else&lt;/strong&gt; выполняется всегда, кроме прерывания цикла по break.&lt;/em&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Менеджер контекста</title>
				<link>https://trust-lang.net/en/docs/ops/with/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/en/docs/ops/with/</guid>
				<description>&lt;p&gt;Одиночный оператор захвата &lt;a href=&#34;https://trust-lang.net/en/docs/syntax/memory/&#34;&gt;ссылки и синхронизации доступа&lt;/a&gt; к объекту &amp;lsquo;&lt;strong&gt;*&lt;/strong&gt;&amp;rsquo; или &amp;lsquo;&lt;strong&gt;*(&amp;hellip;)&lt;/strong&gt;&amp;rsquo;&#xA;выполняется только для одной переменной при использовании в одном действии.&#xA;Но захват ссылки и объекта синхронизации, это относительно медленная операция и выполнять её для каждого действия над переменной не рационально.&lt;/p&gt;&#xA;&lt;p&gt;Для того, чтобы захватить одновременно сразу несколько объектов синхронизации&#xA;для выполнения группы последовательных действий используется менеджер контекста.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;**&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;val1&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;ref1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;val2&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;ref2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;__timeout__&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;10000&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;){&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;};&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;**&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;...&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;){&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;...&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Ветка else при ошибке захвата ссылки&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Информация об ошибке в переменной $^&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;};&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Или таже самая запись с использованием &lt;a href=&#34;https://trust-lang.net/en/docs/syntax/dsl/&#34;&gt;макросов DSL&lt;/a&gt;:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Ввозврат, прерывания и обработка ошибок</title>
				<link>https://trust-lang.net/en/docs/ops/throw/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/en/docs/ops/throw/</guid>
				<description>&lt;p&gt;Последовательность команд &lt;a href=&#34;https://trust-lang.net/en/docs/ops/block/&#34;&gt;(блок кода)&lt;/a&gt; можно прервать в любом месте с помощью специальных операторов.&lt;/p&gt;&#xA;&lt;p&gt;Для этого используются две разные команды, которые условно можно назвать &lt;em&gt;положительным&lt;/em&gt; и &lt;em&gt;отрицательным&lt;/em&gt; прерыванием потока выполнения,&#xA;что примерно соответствует семантике их записи.&#xA;&amp;ldquo;Отрицательное&amp;rdquo; прерывание записывается в виде двух минусов, а &amp;ldquo;положительное&amp;rdquo; прерывание в виде двух плюсов, т.е. &lt;strong&gt;--&lt;/strong&gt; или &lt;strong&gt;++&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Оператор прерывания не возвращает никакого значения (точнее, возвращает пустое значение).&#xA;Чтобы прерывание вернуло другое значение, возвращаемые данные нужно записать между парой соответствующих символов,&#xA;т.е. &lt;strong&gt;--&lt;/strong&gt; 100 &lt;strong&gt;--&lt;/strong&gt;, что является примерным аналогом оператора &lt;code&gt;return 100;&lt;/code&gt;&#xA;в других языках программирования, а &lt;strong&gt;++&lt;/strong&gt;&amp;lsquo;Строка&amp;rsquo;&lt;strong&gt;++&lt;/strong&gt; - аналогом &lt;code&gt;return &#39;Строка&#39;;&lt;/code&gt;.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
