<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[QUIK -> DDE &mdash; Двумерный массив]]></title>
		<link>https://quik2dde.ru/viewtopic.php?id=154</link>
		<atom:link href="https://quik2dde.ru/extern.php?action=feed&amp;tid=154&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Двумерный массив».]]></description>
		<lastBuildDate>Tue, 15 Sep 2020 10:16:32 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Двумерный массив]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2835#p2835</link>
			<description><![CDATA[<p>Не могу разобраться, почему-то криво работает.<br />Есть <br />importTable = {{}};<br />importLine = {};</p><p>importLine запоняется каким то значениями<br />importLine[n]=str;&nbsp; &nbsp;где n = 1..N</p><p>Потом его присваваем как бы строке таблицы<br />importTable[iLine] = importLine; где iLine = 1..3<br />Все строки разные</p><p>print(importLine[1], importLine[2]); даёт<br />2020.09.14 12:25:48&nbsp; &nbsp; 1963032781370132336<br />2020.09.14 16:02:07&nbsp; &nbsp; 1963032781370803101<br />2020.09.15 10:04:08&nbsp; &nbsp; 1936574137854137354</p><p>print(iLine, importTable[iLine][1], importTable[iLine][2]); даёт<br />1&nbsp; &nbsp; 2020.09.14 12:25:48&nbsp; &nbsp; 1963032781370132336<br />2&nbsp; &nbsp; 2020.09.14 16:02:07&nbsp; &nbsp; 1963032781370803101<br />3&nbsp; &nbsp; 2020.09.15 10:04:08&nbsp; &nbsp; 1936574137854137354</p><p>Но такой вывод <br />print(1,importTable[1][1],importTable[1][2]);<br />print(2,importTable[2][1],importTable[2][2]);<br />print(3,importTable[3][1],importTable[3][2]);<br />деёт везде одиниковые значения<br />1&nbsp; &nbsp; 2020.09.15 10:04:08&nbsp; &nbsp; 1936574137854137354<br />2&nbsp; &nbsp; 2020.09.15 10:04:08&nbsp; &nbsp; 1936574137854137354<br />3&nbsp; &nbsp; 2020.09.15 10:04:08&nbsp; &nbsp; 1936574137854137354</p><p>Что за бред ?</p>]]></description>
			<author><![CDATA[null@example.com (Sid)]]></author>
			<pubDate>Tue, 15 Sep 2020 10:16:32 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2835#p2835</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двумерный массив]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1733#p1733</link>
			<description><![CDATA[<div class="quotebox"><cite>Metallurg пишет:</cite><blockquote><p>ps. использовал вариант с table.insert, но он кажется каким-то топорным</p></blockquote></div><p>Именно insert и надо использовать.<br />На остальные вопросы не отвечаю, т.к. про table.insert вы уже знаете )</p>]]></description>
			<author><![CDATA[null@example.com (korovin)]]></author>
			<pubDate>Tue, 27 Oct 2015 19:51:32 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1733#p1733</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двумерный массив]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1728#p1728</link>
			<description><![CDATA[<div class="quotebox"><cite>korovin пишет:</cite><blockquote><p>то будет ошибка, т.к. элемент номер 6 не проинициализирован как таблица, соответственно как к таблице к нему обращаться нельзя.<br />Это не то чтобы проблема, всё легко решается, просто в зависимости от задачи решения можно выдумать разные.</p></blockquote></div><p>Спасибо за объяснение! Но как тогда расширить таблицу, чтобы можно было обращаться к элементу номер 6?<br />И как наиболее просто проинициализировать таблицу, чтобы она имела такой вид? <br />m = {{}}<br />Так?</p><p>ps. использовал вариант с table.insert, но он кажется каким-то топорным:<br />for i = 1, 8000 do<br />table.insert(m, i, {})<br />end</p>]]></description>
			<author><![CDATA[null@example.com (Metallurg)]]></author>
			<pubDate>Tue, 27 Oct 2015 17:03:17 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1728#p1728</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двумерный массив]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1726#p1726</link>
			<description><![CDATA[<div class="quotebox"><cite>Metallurg пишет:</cite><blockquote><p>Чтобы потом можно было обращаться к переменным как к ячейкам двумерного массива:<br />m[1][&quot;переменная1&quot;] = 1<br />??</p></blockquote></div><div class="codebox"><pre><code>m = {{}, {}, {}, {}, {}}

m[1][&quot;aa&quot;] = 1
m[2][&quot;bb&quot;] = 2
m[5][&quot;ee&quot;] = 5</code></pre></div><p>При этом размерность (диапазон) первого индекса жёстко задаётся тем, сколько пустых таблиц проинициализировано первой строкой. Если в приведённом примере написать</p><div class="codebox"><pre><code>m[6][&quot;zz&quot;] = 99</code></pre></div><p>то будет ошибка, т.к. элемент номер 6 не проинициализирован как таблица, соответственно как к таблице к нему обращаться нельзя.<br />Это не то чтобы проблема, всё легко решается, просто в зависимости от задачи решения можно выдумать разные.</p>]]></description>
			<author><![CDATA[null@example.com (korovin)]]></author>
			<pubDate>Tue, 27 Oct 2015 14:05:46 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1726#p1726</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двумерный массив]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1725#p1725</link>
			<description><![CDATA[<p>В вашем случае {переменная1, переменная2, ... переменнаяN} тоже массив с ключами [1],[2]...[N]</p><p>m = {<br />[1] = {переменная1, переменная2, ... переменнаяN},<br />[2] = {переменная1, переменная2, ... переменнаяN},--запятую не забываем ставить<br />..<br />[N] = {переменная1, переменная2, ... переменнаяN}--в последнем элементе можно не ставить<br />}<br />поэтому обращение к ячейкам:<br />per1_1 = m[1][1]--из m[1]</p><p>per1_2 = m[2][1]--из m[2]</p><p>mapN= m[#m]--эквивалентно m[N]<br />per_N = mapN[#mapN]</p><p>Вот таким способом:<br />m[1][&quot;переменная1&quot;] = 1</p><p>вы превратите массив хранящийся в m[1]&nbsp; в таблицу луа и длину таблицы #mapN-способом не узнать:<br />{[&quot;переменная1&quot;]&nbsp; = 1,&nbsp; [1] = переменная1,&nbsp; [2] = переменная2,.. [N] = переменнаяN}</p>]]></description>
			<author><![CDATA[null@example.com (kalikazandr)]]></author>
			<pubDate>Mon, 26 Oct 2015 21:28:14 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1725#p1725</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двумерный массив]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1724#p1724</link>
			<description><![CDATA[<p>Что-то я совсем запутался - как объявить двумерный массив типа:<br />m = { <br />{переменная1, переменная2, ... переменнаяN},<br />{переменная1, переменная2, ... переменнаяN}<br />..<br />{переменная1, переменная2, ... переменнаяN}<br />}<br />Чтобы потом можно было обращаться к переменным как к ячейкам двумерного массива:<br />m[1][&quot;переменная1&quot;] = 1<br />??</p>]]></description>
			<author><![CDATA[null@example.com (Metallurg)]]></author>
			<pubDate>Mon, 26 Oct 2015 19:36:20 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1724#p1724</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двумерный массив]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1308#p1308</link>
			<description><![CDATA[<p><strong>slkumax</strong>,<br />Ваши вопросы где-то на самом начальном уровне знакомства с программированием. Потратьте&nbsp; немного своего времени максимально рационально, на учебники по LUA на достаточно доступном языке изложения. Например на эти<br />[url]http://ilovelua.narod.ru/about_lua.html[/url]<br />[url]http://www.script-coding.com/Lua.html[/url]<br />[url]http://steps3d.narod.ru/tutorials/lua-tutorial.html[/url]<br />На выбор. А лучше все, один за одним.</p>]]></description>
			<author><![CDATA[null@example.com (GREEN_X5)]]></author>
			<pubDate>Fri, 01 May 2015 15:24:53 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1308#p1308</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двумерный массив]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1306#p1306</link>
			<description><![CDATA[<p>-</p>]]></description>
			<author><![CDATA[null@example.com (sam063rus)]]></author>
			<pubDate>Fri, 01 May 2015 15:10:12 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1306#p1306</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двумерный массив]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1305#p1305</link>
			<description><![CDATA[<p>Для простоты пишу print, понятно, что это вывод на экран указанного содержимого.</p><div class="codebox"><pre><code>T = {{11,12,13},{21,22,23},{31,32,33}}

print (T[1][3]) -- выведет 13
print (T[2][1]) -- выведет 21

-- можно создавать даже массивы не прямоугольной (неоднородной) размерности:

T = {{11,12,13,14,15},{21,22},{31,32,33,34}}

print (T[1][3])  -- выведет 13
print (T[1][5])  -- выведет 15
print (T[2][2])  -- выведет 22
print (T[3][4])  -- выведет 34
print (T[2][8])  -- ошибки не будет, выведет nil, такого элемента [8] нет, но по индексу [2] у нас таблица, так что применять операцию &quot;взятия элемента по индексу&quot; можно
print (T[4][5])  -- при наличии такой строки скрипт остановится с ошибкой &quot;attempt to index field &#039;?&#039; (a nil value)&quot;, здесь у нас для первого индекса 4 уже нет элемента в таблице, т.е. nil, а мы к этому nil, т.е. не таблице, пытаемся индексироваться [5], это уже ошибка</code></pre></div><p>Фактически многомерный массив - это таблица, элементами которой тоже являются таблицы.</p>]]></description>
			<author><![CDATA[null@example.com (swerg)]]></author>
			<pubDate>Fri, 01 May 2015 14:30:48 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1305#p1305</guid>
		</item>
		<item>
			<title><![CDATA[Двумерный массив]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1304#p1304</link>
			<description><![CDATA[<p>Перекопал везде информацию. Нигде адекватно так и не написано, как создать обычный двумерный массив.<br />Массив <br />BAZA={}<br />Чтобы потом как в нормальном языке обратиться к элементу<br /> BAZA[x][y]=q</p>]]></description>
			<author><![CDATA[null@example.com (slkumax)]]></author>
			<pubDate>Fri, 01 May 2015 10:33:39 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1304#p1304</guid>
		</item>
	</channel>
</rss>
