<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Копирование таблиц]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Копирование таблиц форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Mon, 27 Apr 2026 14:23:10 +0300</pubDate>
		<item>
			<title>Копирование таблиц</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message60072/topic6960/">Копирование таблиц</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Всем спасибо. Кавычки в проверке типа забыл)
====code====
<pre>function table_copy(originalTable)
 local copyTable = {}
&nbsp;&nbsp;for k,v in pairs(originalTable) do
&nbsp;&nbsp;&nbsp;if (type(v)=="table") then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copyTable&#91;k&#93;=table_copy(v)
&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copyTable&#91;k&#93; = v
&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;end
 return copyTable
end
</pre>
============= <br />
			<i>04.12.2021 22:41:43, Сергей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message60072/topic6960/</link>
			<guid>http://forum.quik.ru/messages/forum10/message60072/topic6960/</guid>
			<pubDate>Sat, 04 Dec 2021 22:41:43 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Копирование таблиц</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message60071/topic6960/">Копирование таблиц</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте! <br />Нужно скопировать таблицу, так, чтобы изменения сделанные в дубликате не отображались в оригинальном экземпляре.<br />Использую для этой цели рекурсивную функцию, но связь сохраняется.
====code====
<pre>function main()
&nbsp;&nbsp;&nbsp;local t1={}
&nbsp;&nbsp;&nbsp;t1.x={}
&nbsp;&nbsp;&nbsp;t1.x.y=1
&nbsp;&nbsp;&nbsp;local t2=table_copy(t1)
&nbsp;&nbsp;&nbsp;t2.x.z="Hi!"&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;PrintDbgStr(""..t1.x.z)
end

function table_copy(originalTable)
 local copyTable = {}
&nbsp;&nbsp;for k,v in pairs(originalTable) do
&nbsp;&nbsp;&nbsp;if (type(v)==table) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copyTable&#91;k&#93;=table_copy(v)
&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copyTable&#91;k&#93; = v
&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;end
 return copyTable
end
</pre>
=============
<br />Результат &quot;Hi!&quot;. Я обескуражен. <br />
			<i>04.12.2021 22:26:43, Сергей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message60071/topic6960/</link>
			<guid>http://forum.quik.ru/messages/forum10/message60071/topic6960/</guid>
			<pubDate>Sat, 04 Dec 2021 22:26:43 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
