<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Оптимизировать/исправить функции]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=16240&amp;type=atom" />
	<updated>2021-04-05T15:50:06Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=16240</id>
		<entry>
			<title type="html"><![CDATA[AHK: Оптимизировать/исправить функции]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=147172#p147172" />
			<content type="html"><![CDATA[<p>Хочу понять, можно ли как-то улучшить функции max и min класса Math?</p><div class="codebox"><pre><code>class Math
{
	max(numbers*)
	{
		numbers := arrayFlat(numbers)

		max := numbers[1]
		for k, v in numbers
		{
			if (max &lt; v)
			{
				max := v
			}
		}

		return max
	}

	min(numbers*)
	{
		numbers := arrayFlat(numbers)

		min := numbers[1]
		for k, v in numbers
		{
			if (min &gt; v)
			{
				min := v
			}
		}

		return min
	}
}

arrayFlat(arr)
{
	Loop % len := arr.Count()
	{
		i := len - A_Index + 1
		if IsObject(item := arr[i])
		{
			arr.RemoveAt(i)
			arr.InsertAt(i, arrayFlat(item)*)
		}
	}
	Return arr
}</code></pre></div><p>Использовать min/max стандартные не имею возможности ибо компилятор использует 1.1.25.01 версию (если есть установщик этой версии, было бы не плохо).</p>]]></content>
			<author>
				<name><![CDATA[Phoenixxx_Czar]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34426</uri>
			</author>
			<updated>2021-04-05T15:50:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=147172#p147172</id>
		</entry>
</feed>
