<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Встроенные методы объекта.]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=13656</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=13656&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Встроенные методы объекта.».]]></description>
		<lastBuildDate>Fri, 27 Apr 2018 17:23:11 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Встроенные методы объекта.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=124961#p124961</link>
			<description><![CDATA[<p>Бобра вам!<br />b := a.Clone().InsertAt(2, 7)<br />Это присвоение интересно тем, что метод .InsertAt никогда ничего не возвращает (что описано в справке).<br />Метод является операцией над массивом, но не создает новый.<br />Стало быть переменная b всегда пуста.<br />Предлагаю расписать это на две строки.<br /></p><div class="quotebox"><cite>KusochekDobra пишет:</cite><blockquote><p>первый раз и выходит</p></blockquote></div><p>И все будет входить и выходить, замечательно выходить!</p>]]></description>
			<author><![CDATA[null@example.com (KusochekBobra)]]></author>
			<pubDate>Fri, 27 Apr 2018 17:23:11 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=124961#p124961</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Встроенные методы объекта.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=124960#p124960</link>
			<description><![CDATA[<p>Всем добра!</p><p>Так, работает:<br /></p><div class="codebox"><pre><code>
a := [13, 45, 67, 89]
b := a.Clone()
b.InsertAt(2, 7)

aFunc(a*)
aFunc(b*)
OutputDebug,Finish
aFunc(one, two, three, four, five := 0) {
	OutputDebug,Call
	MsgBox,,Title,% one &quot;`n&quot;  two &quot;`n&quot; three &quot;`n&quot; four &quot;`n&quot; five
}
</code></pre></div><p>И так:<br /></p><div class="codebox"><pre><code>
a := [13, 45, 67, 89]
b := InsertMe(CloneMe(a), 7, 2)

aFunc(a*)
aFunc(b*)
aFunc(a.Clone()*)
aFunc(InsertMe(CloneMe(a), 9, 3)*)
aFunc(InsertMe(a.Clone(), 19, 4)*)

OutputDebug,Finish
aFunc(one, two, three, four, five := 0) {
	OutputDebug,Call
	MsgBox,,Title,% one &quot;`n&quot;  two &quot;`n&quot; three &quot;`n&quot; four &quot;`n&quot; five
}
CloneMe(a) {
	b := []
	Loop,% a.Length()
		b.Push(a[A_Index])
	return b
}
InsertMe(b, item, pos := 1) {
	c := [], i := 1
	Loop,% b.Length() + 1
		c.Push(A_Index != pos ? b[i++] : item)
	return c
}
</code></pre></div><p>А так, вызывает только первый раз и выходит:<br /></p><div class="codebox"><pre><code>
a := [13, 45, 67, 89]
b := a.Clone().InsertAt(2, 7)

aFunc(a*)
aFunc(b*)
aFunc(a.Clone().InsertAt(2, 7)*)
aFunc((a.Clone()).InsertAt(2, 7)*)

c := a.Clone()
aFunc(c.InsertAt(2, 7)*)

OutputDebug,Finish
aFunc(one, two, three, four, five := 0) {
	OutputDebug,Call
	MsgBox,,Title,% one &quot;`n&quot;  two &quot;`n&quot; three &quot;`n&quot; four &quot;`n&quot; five
}
</code></pre></div><p>Скажите пожалуйста, это следует отправить в баг-репорт, или я не правильно делаю запись?</p><p><strong>UPD:</strong><br />Туплю. InsertAt() - ведь ничего не возвращает, а только модифицирует объект.</p>]]></description>
			<author><![CDATA[null@example.com (KusochekDobra)]]></author>
			<pubDate>Fri, 27 Apr 2018 17:00:47 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=124960#p124960</guid>
		</item>
	</channel>
</rss>
