<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linuxformat.ru/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF157%3A%D0%AF%D0%B7%D1%8B%C2%AD%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%C2%AD%D0%B3%D1%80%D0%B0%D0%BC%C2%AD%D0%BC%D0%B8%C2%AD%D1%80%D0%BE%C2%AD%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F._Erlang</id>
		<title>LXF157:Язы­ки про­грам­ми­ро­вания. Erlang - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF157%3A%D0%AF%D0%B7%D1%8B%C2%AD%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%C2%AD%D0%B3%D1%80%D0%B0%D0%BC%C2%AD%D0%BC%D0%B8%C2%AD%D1%80%D0%BE%C2%AD%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F._Erlang"/>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF157:%D0%AF%D0%B7%D1%8B%C2%AD%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%C2%AD%D0%B3%D1%80%D0%B0%D0%BC%C2%AD%D0%BC%D0%B8%C2%AD%D1%80%D0%BE%C2%AD%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F._Erlang&amp;action=history"/>
		<updated>2026-05-13T20:13:04Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.19.20+dfsg-0+deb7u3</generator>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF157:%D0%AF%D0%B7%D1%8B%C2%AD%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%C2%AD%D0%B3%D1%80%D0%B0%D0%BC%C2%AD%D0%BC%D0%B8%C2%AD%D1%80%D0%BE%C2%AD%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F._Erlang&amp;diff=17429&amp;oldid=prev</id>
		<title>Olkol в 09:48, 19 августа 2018</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF157:%D0%AF%D0%B7%D1%8B%C2%AD%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%C2%AD%D0%B3%D1%80%D0%B0%D0%BC%C2%AD%D0%BC%D0%B8%C2%AD%D1%80%D0%BE%C2%AD%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F._Erlang&amp;diff=17429&amp;oldid=prev"/>
				<updated>2018-08-19T09:48:21Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 09:48, 19 августа 2018&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 78:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 78:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;end.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;end.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|right|Заголовок= Стан­дар­ты ASN.1|Ширина=20%|Содержание=» ITU-T Rec. X.680 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;| &lt;/del&gt;ISO/IEC 8824-1. Спе­ци­фи­ка­ция на ба­зо­вую но­та­цию.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|right|Заголовок= Стан­дар­ты ASN.1|Ширина=20%|Содержание=» ITU-T Rec. X.680 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;I &lt;/ins&gt;ISO/IEC 8824-1. Спе­ци­фи­ка­ция на ба­зо­вую но­та­цию.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» ITU-T Rec. X.681 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;| &lt;/del&gt;ISO/IEC 8824-2. Спе­ци­фи­ка­ция на ин­фор­ма­ци­он­ные объ­ек­ты.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» ITU-T Rec. X.681 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;I &lt;/ins&gt;ISO/IEC 8824-2. Спе­ци­фи­ка­ция на ин­фор­ма­ци­он­ные объ­ек­ты.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» ITU-T Rec. X.682 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;| &lt;/del&gt;ISO/IEC 8824-3. Спе­ци­фи­ка­ция на ог­ра­ни­че­ния.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» ITU-T Rec. X.682 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;I &lt;/ins&gt;ISO/IEC 8824-3. Спе­ци­фи­ка­ция на ог­ра­ни­че­ния.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» ITU-T Rec. X.683 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;| &lt;/del&gt;ISO/IEC 8824-4. Спе­ци­фи­ка­ция на па­ра­мет­ри­за­цию ASN.1.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» ITU-T Rec. X.683 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;I &lt;/ins&gt;ISO/IEC 8824-4. Спе­ци­фи­ка­ция на па­ра­мет­ри­за­цию ASN.1.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» ITU-T Rec. X.690 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;| &lt;/del&gt;ISO/IEC 8825-1. Спе­ци­фи­ка­ция на BER (Basic encoding rules), CER (Canonical encoding rules) и DER (Distinguished encoding rules).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» ITU-T Rec. X.690 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;I &lt;/ins&gt;ISO/IEC 8825-1. Спе­ци­фи­ка­ция на BER (Basic encoding rules), CER (Canonical encoding rules) и DER (Distinguished encoding rules).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» ITU-T Rec. X.691 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;| &lt;/del&gt;ISO/IEC 8825-2. Спе­ци­фи­ка­ция на PER (Packed encoding rules).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» ITU-T Rec. X.691 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;I &lt;/ins&gt;ISO/IEC 8825-2. Спе­ци­фи­ка­ция на PER (Packed encoding rules).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» ITU-T Rec. X.692 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;| &lt;/del&gt;ISO/IEC 8825-3. Спе­ци­фи­ка­ция на ECN (Encoding control notation).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» ITU-T Rec. X.692 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;I &lt;/ins&gt;ISO/IEC 8825-3. Спе­ци­фи­ка­ция на ECN (Encoding control notation).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» ITU-T Rec. X.693 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;| &lt;/del&gt;ISO/IEC 8825-4. Спе­ци­фи­ка­ция на XER (XML Encoding rules).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» ITU-T Rec. X.693 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;I &lt;/ins&gt;ISO/IEC 8825-4. Спе­ци­фи­ка­ция на XER (XML Encoding rules).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» ITU-T Rec. X.694 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;| &lt;/del&gt;ISO/IEC 8825-5. Спе­ци­фи­ка­ция на ото­бра­же­ние на XSD.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» ITU-T Rec. X.694 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;I &lt;/ins&gt;ISO/IEC 8825-5. Спе­ци­фи­ка­ция на ото­бра­же­ние на XSD.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» ITU-T Rec. X.695 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;| &lt;/del&gt;ISO/IEC 8825-6. Спе­ци­фи­ка­ция на ре­ги­ст­ра­цию и при­ме­не­ние ин­ст­рук­ций ко­ди­ро­ва­ния PER (Packed encoding rules). }} &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» ITU-T Rec. X.695 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;I &lt;/ins&gt;ISO/IEC 8825-6. Спе­ци­фи­ка­ция на ре­ги­ст­ра­цию и при­ме­не­ние ин­ст­рук­ций ко­ди­ро­ва­ния PER (Packed encoding rules). }} &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Те­перь пе­рей­дем непо­сред­ст­вен­но к де­ко­ди­ро­ванию дан­ных. В пер­вую оче­редь нам необ­хо­ди­мо уметь де­ко­ди­ро­вать тип дан­ных (он же тэг дан­ных). Свя­за­но это с тем, что по ти­пу дан­ных мы вы­би­ра­ем по­том под­хо­дя­щую функ­цию для де­ко­ди­ро­вания са­мо­го объ­ек­та. Как уже го­во­ри­лось, тип дан­ных со­сто­ит из трех ком­понент: клас­са, фор­мы и иден­ти­фи­ка­то­ра ти­па дан­ных. Класс и фор­ма име­ют фик­си­ро­ван­ный раз­мер – 2 и 1 бит со­от­вет­ст­вен­но. Спо­соб ко­ди­ро­вания иден­ти­фи­ка­то­ра ти­па дан­ных за­ви­сит от его зна­чения. Ес­ли зна­чение иден­ти­фи­ка­то­ра мень­ше 31, то он занима­ет остав­шие­ся 5 бит ок­те­та (бай­та) пол­но­стью. Ес­ли же его зна­чение боль­ше или рав­но 31, то в остав­шие­ся 5 бит ок­те­та за­пи­сы­ва­ет­ся зна­чение 2#11111, по­сле че­го идет зна­чение иден­ти­фи­ка­то­ра, за­ко­ди­ро­ван­ное бо­лее слож­ным спо­со­бом, о ко­то­ром мы по­го­во­рим ниже. За де­ко­ди­ро­вание ти­па дан­ных от­ве­ча­ет ме­тод decode_tag/1. Вхо­дя­щий па­ра­метр у него один – би­то­вая стро­ка с дан­ны­ми для де­ко­ди­ро­вания. Вхо­дя­щий па­ра­метр в за­го­лов­ке ме­то­да при по­мо­щи опе­ра­ции со­от­вет­ст­вия шаб­ло­ну [pattern matching] раз­би­ва­ет­ся на 2 би­та для клас­са, 1 бит для фор­мы, 5 би­то­вый сег­мент (ли­бо для иден­ти­фи­ка­то­ра ти­па, ли­бо для ве­ли­чи­ны 2#11111) и остав­шую­ся часть би­то­вой стро­ки. Зна­чение 5 би­то­во­го сег­мен­та &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Те­перь пе­рей­дем непо­сред­ст­вен­но к де­ко­ди­ро­ванию дан­ных. В пер­вую оче­редь нам необ­хо­ди­мо уметь де­ко­ди­ро­вать тип дан­ных (он же тэг дан­ных). Свя­за­но это с тем, что по ти­пу дан­ных мы вы­би­ра­ем по­том под­хо­дя­щую функ­цию для де­ко­ди­ро­вания са­мо­го объ­ек­та. Как уже го­во­ри­лось, тип дан­ных со­сто­ит из трех ком­понент: клас­са, фор­мы и иден­ти­фи­ка­то­ра ти­па дан­ных. Класс и фор­ма име­ют фик­си­ро­ван­ный раз­мер – 2 и 1 бит со­от­вет­ст­вен­но. Спо­соб ко­ди­ро­вания иден­ти­фи­ка­то­ра ти­па дан­ных за­ви­сит от его зна­чения. Ес­ли зна­чение иден­ти­фи­ка­то­ра мень­ше 31, то он занима­ет остав­шие­ся 5 бит ок­те­та (бай­та) пол­но­стью. Ес­ли же его зна­чение боль­ше или рав­но 31, то в остав­шие­ся 5 бит ок­те­та за­пи­сы­ва­ет­ся зна­чение 2#11111, по­сле че­го идет зна­чение иден­ти­фи­ка­то­ра, за­ко­ди­ро­ван­ное бо­лее слож­ным спо­со­бом, о ко­то­ром мы по­го­во­рим ниже. За де­ко­ди­ро­вание ти­па дан­ных от­ве­ча­ет ме­тод decode_tag/1. Вхо­дя­щий па­ра­метр у него один – би­то­вая стро­ка с дан­ны­ми для де­ко­ди­ро­вания. Вхо­дя­щий па­ра­метр в за­го­лов­ке ме­то­да при по­мо­щи опе­ра­ции со­от­вет­ст­вия шаб­ло­ну [pattern matching] раз­би­ва­ет­ся на 2 би­та для клас­са, 1 бит для фор­мы, 5 би­то­вый сег­мент (ли­бо для иден­ти­фи­ка­то­ра ти­па, ли­бо для ве­ли­чи­ны 2#11111) и остав­шую­ся часть би­то­вой стро­ки. Зна­чение 5 би­то­во­го сег­мен­та &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Olkol</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF157:%D0%AF%D0%B7%D1%8B%C2%AD%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%C2%AD%D0%B3%D1%80%D0%B0%D0%BC%C2%AD%D0%BC%D0%B8%C2%AD%D1%80%D0%BE%C2%AD%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F._Erlang&amp;diff=17428&amp;oldid=prev</id>
		<title>Olkol в 09:45, 19 августа 2018</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF157:%D0%AF%D0%B7%D1%8B%C2%AD%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%C2%AD%D0%B3%D1%80%D0%B0%D0%BC%C2%AD%D0%BC%D0%B8%C2%AD%D1%80%D0%BE%C2%AD%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F._Erlang&amp;diff=17428&amp;oldid=prev"/>
				<updated>2018-08-19T09:45:57Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 09:45, 19 августа 2018&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 154:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 154:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{Length, ParseRest}.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{Length, ParseRest}.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;{{Врезка|left|Заголовок= Стан­дарт­ные ти­пы дан­ных ASN.1|Ширина=30%|Содержание= Стан­дарт­ные ти­пы дан­ных ASN.1 – это ти­пы дан­ных, опи­сан­ные в стан­дар­тах ASN.1. У этих ти­пов дан­ных класс universal; ра­бо­тать с дан­ны­ми стан­дарт­ных ти­пов долж­на уметь лю­бая ASN.1-со­вмес­ти­мая реа­ли­за­ция про­то­ко­ла. К стан­дарт­ным ти­пам дан­ных от­но­сят­ся сле­дую­щие:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;{{Врезка|left|Заголовок= Стан­дарт­ные ти­пы дан­ных ASN.1|Ширина=30%|Содержание= Стан­дарт­ные ти­пы дан­ных ASN.1 – это ти­пы дан­ных, опи­сан­ные в стан­дар­тах ASN.1. У этих ти­пов дан­ных класс universal; ра­бо­тать с дан­ны­ми стан­дарт­ных ти­пов долж­на уметь лю­бая ASN.1-со­вмес­ти­мая реа­ли­за­ция про­то­ко­ла. К стан­дарт­ным ти­пам дан­ных от­но­сят­ся сле­дую­щие:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» Ло­ги­че­­ские зна­чения (BOOLEAN) Принима­ют два зна­чения – TRUE и FALSE.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» Ло­ги­че­­ские зна­чения (BOOLEAN) Принима­ют два зна­чения – TRUE и FALSE.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 175:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 175:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» Мно­же­ст­во объ­ек­тов (SET и SET OF) Тип дан­ных для хранения объ­ек­тов дру­гих ти­пов, при этом по­ря­док хранения не оп­ре­де­лен. Разница ме­ж­ду SET и SET OF в том, что во мно­же­ст­вах пер­во­го ти­па до­пуска­ет­ся хранение дан­ных раз­ных ти­пов, тогда как во мно­же­ст­вах вто­ро­го ти­па до­пуска­ет­ся хранение дан­ных од­но­го ти­па. С точ­ки зрения пра­вил ко­ди­ро­вания ASN.1 BER SET и SET OF одинаковы.}} &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;» Мно­же­ст­во объ­ек­тов (SET и SET OF) Тип дан­ных для хранения объ­ек­тов дру­гих ти­пов, при этом по­ря­док хранения не оп­ре­де­лен. Разница ме­ж­ду SET и SET OF в том, что во мно­же­ст­вах пер­во­го ти­па до­пуска­ет­ся хранение дан­ных раз­ных ти­пов, тогда как во мно­же­ст­вах вто­ро­го ти­па до­пуска­ет­ся хранение дан­ных од­но­го ти­па. С точ­ки зрения пра­вил ко­ди­ро­вания ASN.1 BER SET и SET OF одинаковы.}} &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Те­перь пе­рей­дем непо­сред­ст­вен­но к де­ко­ди­ро­ванию объ­ек­тов Erlang. Начнем с де­ко­ди­ро­вания бу­лев­ских зна­чений (бу­лев­ские зна­чения в язы­ке Erlang яв­ля­ют­ся не осо­бым ти­пом, а дву­мя пред­о­пре­де­лен­ны­ми ато­ма­ми true и false). Тип дан­ных для бу­лев­ских зна­чений ра­вен 1 (класс – universal, фор­ма – primitive, иден­ти­фи­ка­тор – 1), для хранения соб­ст­вен­но зна­чения доста­точ­но 1 ок­те­та. Ес­ли за­ко­ди­ро­ван­ное зна­чение рав­но 0, то со­от­вет­ст­вую­щее бу­лев­ское зна­чение рав­но false; ес­ли нет, то true.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Те­перь пе­рей­дем непо­сред­ст­вен­но к де­ко­ди­ро­ванию объ­ек­тов Erlang. Начнем с де­ко­ди­ро­вания бу­лев­ских зна­чений (бу­лев­ские зна­чения в язы­ке Erlang яв­ля­ют­ся не осо­бым ти­пом, а дву­мя пред­о­пре­де­лен­ны­ми ато­ма­ми true и false). Тип дан­ных для бу­лев­ских зна­чений ра­вен 1 (класс – universal, фор­ма – primitive, иден­ти­фи­ка­тор – 1), для хранения соб­ст­вен­но зна­чения доста­точ­но 1 ок­те­та. Ес­ли за­ко­ди­ро­ван­ное зна­чение рав­но 0, то со­от­вет­ст­вую­щее бу­лев­ское зна­чение рав­но false; ес­ли нет, то true.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Olkol</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF157:%D0%AF%D0%B7%D1%8B%C2%AD%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%C2%AD%D0%B3%D1%80%D0%B0%D0%BC%C2%AD%D0%BC%D0%B8%C2%AD%D1%80%D0%BE%C2%AD%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F._Erlang&amp;diff=17427&amp;oldid=prev</id>
		<title>Olkol: Новая страница: « Категория: Учебники   Категория: Учебники   '''Erlang Опи­сы­ва­ет­ся сле­дую­щей фор­м…»</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF157:%D0%AF%D0%B7%D1%8B%C2%AD%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%C2%AD%D0%B3%D1%80%D0%B0%D0%BC%C2%AD%D0%BC%D0%B8%C2%AD%D1%80%D0%BE%C2%AD%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F._Erlang&amp;diff=17427&amp;oldid=prev"/>
				<updated>2018-08-19T09:41:20Z</updated>
		
		<summary type="html">&lt;p&gt;Новая страница: « &lt;a href=&quot;/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%A3%D1%87%D0%B5%D0%B1%D0%BD%D0%B8%D0%BA%D0%B8&quot; title=&quot;Категория:Учебники&quot;&gt;Категория: Учебники&lt;/a&gt;   &lt;a href=&quot;/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%A3%D1%87%D0%B5%D0%B1%D0%BD%D0%B8%D0%BA%D0%B8&quot; title=&quot;Категория:Учебники&quot;&gt;Категория: Учебники&lt;/a&gt;   &amp;#039;&amp;#039;&amp;#039;Erlang Опи­сы­ва­ет­ся сле­дую­щей фор­м…»&lt;/p&gt;
&lt;a href=&quot;http://wiki.linuxformat.ru/wiki/index.php?title=LXF157:%D0%AF%D0%B7%D1%8B%C2%AD%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%C2%AD%D0%B3%D1%80%D0%B0%D0%BC%C2%AD%D0%BC%D0%B8%C2%AD%D1%80%D0%BE%C2%AD%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F._Erlang&amp;amp;diff=17427&quot;&gt;Внесённые изменения&lt;/a&gt;</summary>
		<author><name>Olkol</name></author>	</entry>

	</feed>