<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: В чём разница между Array.Remove(Index) и Array.RemoveAt(Index)]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=11178</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=11178&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: В чём разница между Array.Remove(Index) и Array.RemoveAt(Index)».]]></description>
		<lastBuildDate>Sun, 27 Dec 2015 07:20:21 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: В чём разница между Array.Remove(Index) и Array.RemoveAt(Index)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=99963#p99963</link>
			<description><![CDATA[<p>Спасибо большое за разъяснение.<br />Теперь буду использовать `RemoveAt` вместо `Remove`.</p>]]></description>
			<author><![CDATA[null@example.com (Danil_Valov)]]></author>
			<pubDate>Sun, 27 Dec 2015 07:20:21 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=99963#p99963</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: В чём разница между Array.Remove(Index) и Array.RemoveAt(Index)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=99962#p99962</link>
			<description><![CDATA[<p><a href="https://autohotkey.com/docs/objects/Object.htm#Remove">Remove</a> это из старых версий ahk. Эта команда может удалять элементы из массива или очищать(устанавливать пустое значение).</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;Если не указывать параметров, то удаляется последний элемент</div><div class="fancy_spoiler"><div class="codebox"><pre><code>x := [&quot;A&quot;,&quot;B&quot;,&quot;C&quot;,&quot;D&quot;,&quot;E&quot;]

MsgBox % &quot;Элемент: &quot; x.Remove()

MsgBox % &quot;A`t&quot; x[1]
     . &quot;`nB`t&quot; x[2]
     . &quot;`nC`t&quot; x[3]
     . &quot;`nD`t&quot; x[4]
     . &quot;`nE`t&quot; x[5]</code></pre></div></div></div><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;Если указать первый параметр, это номер элемента. Все то что после него смещается.</div><div class="fancy_spoiler"><div class="codebox"><pre><code>x := [&quot;A&quot;,&quot;B&quot;,&quot;C&quot;,&quot;D&quot;,&quot;E&quot;]

MsgBox % &quot;Элемент: &quot; x.Remove(3)

MsgBox % &quot;A`t&quot; x[1]
     . &quot;`nB`t&quot; x[2]
     . &quot;`nC`t&quot; x[3]
     . &quot;`nD`t&quot; x[4]
     . &quot;`nE`t&quot; x[5]</code></pre></div></div></div><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;Если указать второй параметр как пустые скобки, То этот элемент очищается.</div><div class="fancy_spoiler"><div class="codebox"><pre><code>x := [&quot;A&quot;,&quot;B&quot;,&quot;C&quot;,&quot;D&quot;,&quot;E&quot;]

MsgBox % &quot;Элемент: &quot; x.Remove(3,&quot;&quot;)

MsgBox % &quot;A`t&quot; x[1]
     . &quot;`nB`t&quot; x[2]
     . &quot;`nC`t&quot; x[3]
     . &quot;`nD`t&quot; x[4]
     . &quot;`nE`t&quot; x[5]</code></pre></div></div></div><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;Если указать второй параметр как номер элемента, то в диапазоне от первого до другого элемента все удалится</div><div class="fancy_spoiler"><div class="codebox"><pre><code>x := [&quot;A&quot;,&quot;B&quot;,&quot;C&quot;,&quot;D&quot;,&quot;E&quot;]

MsgBox % &quot;Элементов: &quot; x.Remove(1,3)

MsgBox % &quot;A`t&quot; x[1]
     . &quot;`nB`t&quot; x[2]
     . &quot;`nC`t&quot; x[3]
     . &quot;`nD`t&quot; x[4]
     . &quot;`nE`t&quot; x[5]</code></pre></div></div></div><p>Очистить группу элементов через remove нельзя.</p><p>В новых версиях ahk команду remove заменяют <a href="https://autohotkey.com/docs/objects/Object.htm#RemoveAt_v1121+">RemoveAt</a>, <a href="https://autohotkey.com/docs/objects/Object.htm#Delete_v1121+">Delete</a> и <a href="https://autohotkey.com/docs/objects/Object.htm#Pop_v1121+">pop</a>.<br />RemoveAt может только удалять элемент или группу элементов.<br />Delete может только очищать элемент или группу элементов.<br />pop может только удалять последний элемент из списка.<br />В RemoveAt и Delete второй параметр указывается не точной позицией элемента как в remove, а количество элементов.</p>]]></description>
			<author><![CDATA[null@example.com (yalanne)]]></author>
			<pubDate>Sat, 26 Dec 2015 21:40:11 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=99962#p99962</guid>
		</item>
		<item>
			<title><![CDATA[AHK: В чём разница между Array.Remove(Index) и Array.RemoveAt(Index)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=99961#p99961</link>
			<description><![CDATA[<p>В общем, сабж. В чём разница между этими командами? Ведь выполняют они одно и то же.</p><p>Пример:</p><div class="codebox"><pre><code>TestStr := &quot;111 222 333 444&quot;

; Режем массив Test1 из строки
Test1 := StrSplit(TestStr, &quot; &quot;)
; и удаляем 2-й элемент через Array.RemoveAt(Index)
Test1.RemoveAt(2)

; Выводим массив Test1
MsgBox, % &quot;Test1`nLength: &quot; Test1.MaxIndex() &quot;`n`nItem #1: &quot; Test1[1] &quot;`nItem #2: &quot; Test1[2] &quot;`nItem #3: &quot; Test1[3] &quot;`nItem #4: &quot; Test1[4]


; Режем массив Test2 из строки
Test2 := StrSplit(TestStr, &quot; &quot;)
; и удаляем 2-й элемент через Array.RemoveAt(Index)
Test2.Remove(2)

; Выводим массив Test2
MsgBox, % &quot;Test2`nLength: &quot; Test2.MaxIndex() &quot;`n`nItem #1: &quot; Test2[1] &quot;`nItem #2: &quot; Test2[2] &quot;`nItem #3: &quot; Test2[3] &quot;`nItem #4: &quot; Test2[4]
</code></pre></div><p>На выходе получим абсолютно идентичный результат.</p>]]></description>
			<author><![CDATA[null@example.com (Danil_Valov)]]></author>
			<pubDate>Sat, 26 Dec 2015 20:16:39 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=99961#p99961</guid>
		</item>
	</channel>
</rss>
