<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=Template%3AString_values</id>
	<title>Template:String values - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=Template%3AString_values"/>
	<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Template:String_values&amp;action=history"/>
	<updated>2026-04-04T16:37:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://sfsys.ru/index.php?title=Template:String_values&amp;diff=3710&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Template:String_values&amp;diff=3710&amp;oldid=prev"/>
		<updated>2021-02-07T06:56:27Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 06:56, 7 February 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=Template:String_values&amp;diff=3709&amp;oldid=prev</id>
		<title>Admin at 07:17, 6 November 2020</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Template:String_values&amp;diff=3709&amp;oldid=prev"/>
		<updated>2020-11-06T07:17:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;p&amp;gt;Строки-массивы используются для хранения большого количества одинаковых по натуре строк, для которых не имеет большого смысла использовать более дорогие методы хранения, типа списков или таблиц. Функции, работающие с такими кодированными массивами, в достаточной мере оптимизированы и практически не уступают по скорости сортированным таблицам или спискам, при этом занимая меньше памяти и гораздо проще с точки зрения программирования. Некоторые возможности функций для работы с такими строками (к примеру [[AssertStringValues]], [[JoinStringValues]]) не имеют прямых аналогов в таблицах, что делает их более удобными источниками данных, когда есть необходимость в таких специфических действиях. Иными словами: данный набор функций может выиграть в просторе программирования и уменьшении потребности в памяти, тогда как работа с таблицами обычно выигрывает в скорости. Каждая строка-массив имеет формат:&amp;lt;/p&amp;gt;&lt;br /&gt;
* Для строк с префиксами: &amp;lt;code&amp;gt;&amp;lt;Префикс 1&amp;gt;&amp;lt;Отделитель префикса&amp;gt;&amp;lt;Значение 1&amp;gt;&amp;lt;Разделитель значений&amp;gt;&amp;lt;Префикс 2&amp;gt;&amp;lt;Отделитель префикса&amp;gt;&amp;lt;Значение 2&amp;gt;&amp;lt;Разделитель значений&amp;gt;...&amp;lt;/code&amp;gt;. Пример: '''&amp;quot;1@Иванов#2@Петров#5@Сидоров&amp;quot;''' использует отделитель префикса &amp;quot;@&amp;quot; и разделитель значений &amp;quot;#&amp;quot;.&lt;br /&gt;
* Для строк без префиксов: &amp;lt;code&amp;gt;&amp;lt;Значение 1&amp;gt;&amp;lt;Разделитель значений&amp;gt;&amp;lt;Значение 2&amp;gt;&amp;lt;Разделитель значений&amp;gt;...&amp;lt;/code&amp;gt;. Пример: '''&amp;quot;Иванов&amp;quot;+_NEWLINE+&amp;quot;Петров&amp;quot;+_NEWLINE+&amp;quot;Сидоров&amp;quot;''' использует разделитель значений _NEWLINE.&lt;br /&gt;
&amp;lt;p&amp;gt;Прежде чем решить, выгодно ли использование в конкретной ситуации строк-массивов, необходимо принять во внимание несколько факторов. Строки-массивы обычно используются, если данные содержат более или менее одинаковые элементы, часто, имеют одну и ту же длину, и нет необходимости в адресации конкретных элементов, выборке из массива по каждому элементу (иначе операции над массивами теряют смысл), элементы не имеют фиксированной позиции и индекса. К примеру, если имеются массивы с большим количеством серийных номеров изделий, когда необходимо проверить все ли серийные номера из массива в документе содержались в оригинальном массиве, либо исключить из оригинального массива, все серийные номера, которые были списаны во втором массиве, данный набор функций может быть успешно применен.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Каждый элемент массива также может содержать префикс любой длины. Префикс может использоваться, как для хранения дополнительной информации об элементах массива, так и для идентификации их в каком-либо другом источнике данных (к примеру, содержать коды элементов). Префиксы не используются при сравнениях, конкатенациях и прочих действиях с массивами, они также не отделяются от конкретных элементов и не удаляются при изменении массива, объединении с другим массивом и пр.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Нужно также понимать, что, если префиксы элементов используются для адресации из какого-то другого источника (т.е., данные не хранятся в строках, а, к примеру, в элементах справочников), то не имеет особого смысла применение этих функций, так как перенос между источниками будет усложнять программу, и не будет давать выигрыша в скорости и простоте кода по сравнению с работой с таблицами или списками.&amp;lt;/p&amp;gt;&lt;br /&gt;
Пример сравнения скорости выполнения и сложности построения между функциями [[JoinStringValues]] (команда &amp;quot;AND&amp;quot;) и таблицами см. в статье [[Пример сравнения функций строк-массивов и таблиц]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>