<?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=12758</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=12758&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Тернарный условный оператор».]]></description>
		<lastBuildDate>Sun, 18 Jun 2017 16:02:26 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Тернарный условный оператор]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=116745#p116745</link>
			<description><![CDATA[<p>Назначать кнопки на джойстик можно <a href="https://autohotkey.com/boards/viewtopic.php?f=19&amp;t=12249/">вот этим</a>, хотя сам не проверял, и не знаю, что это такое.</p>]]></description>
			<author><![CDATA[null@example.com (svoboden)]]></author>
			<pubDate>Sun, 18 Jun 2017 16:02:26 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=116745#p116745</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Тернарный условный оператор]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=116744#p116744</link>
			<description><![CDATA[<div class="quotebox"><cite>Alectric пишет:</cite><blockquote><p>Или можно сделать</p></blockquote></div><p>Если из массива данные по ключу извлекаются наподобии:<br /></p><div class="codebox"><pre><code>a := 111
b := 222

c = a
MsgBox % %c%
c = b
MsgBox % %c%</code></pre></div><p>а не перебором массива, то оптимальнее с массивом.<br /></p><div class="quotebox"><cite>shahlik002 пишет:</cite><blockquote><p>Или может есть чудо способ назначить хоткей на joyX и joyY , либо провернуть это дело без использования таймера на GetKeyState? (меня бесят бесконечные циклы)</p></blockquote></div><p>Есть такой способ - HID. Как то постил наброски.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sun, 18 Jun 2017 15:25:14 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=116744#p116744</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Тернарный условный оператор]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=116736#p116736</link>
			<description><![CDATA[<p>Спасибо всем большое , получилось на ура .<br />Уже подумываю в новую тему полностью скрипт залить и попросить вас потыкать пальцами на мои ошибки. <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (shahlik002)]]></author>
			<pubDate>Sun, 18 Jun 2017 09:51:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=116736#p116736</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Тернарный условный оператор]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=116730#p116730</link>
			<description><![CDATA[<p>Или можно сделать оочень длинный тернарный оператор.<br /></p><div class="codebox"><pre><code>f:=9

Message(f=1 ? &quot;текст1&quot; : f=2 ? &quot;текст2&quot; : f=3 ? &quot;текст3&quot; : f=4 ? &quot;текст4&quot; : f=5 ? &quot;текст5&quot; : f=6 ? &quot;текст6&quot; : f=7 ? &quot;текст7&quot; : f=8 ? &quot;текст8&quot; : f=9 ? &quot;текст9&quot; : &quot;&quot;)


Message(text)  {
   MsgBox, % text
}
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Sun, 18 Jun 2017 03:57:07 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=116730#p116730</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Тернарный условный оператор]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=116724#p116724</link>
			<description><![CDATA[<p><strong>shahlik002</strong>, довольно сумбурно объясняете, мало что понятно. Отвечу на то, что понял.</p><div class="quotebox"><cite>shahlik002 пишет:</cite><blockquote><p>В моем случае переменная %ff% может принимать 9 разных значений , 1 из которых обрабатывать не нужно.</p><p>А как же быть с другими восьми?</p></blockquote></div><p>Приведу пример для трёх. Предположим, ваша переменная ff может принимать значения <em>one, two</em> и <em>three</em>, из которых должны обрабатываться первые два. Допустим, нам нужно, в зависимости от значения, посылать разный текст. Тогда значения и соответствующий текст можно перечислить в массиве:<br /></p><div class="codebox"><pre><code>values := { one: &quot;текст для значения &quot;&quot;one&quot;&quot;&quot;, two: &quot;текст для значения &quot;&quot;two&quot;&quot;&quot; }

ff := &quot;one&quot;, Message(values[ff])
ff := &quot;two&quot;, Message(values[ff])
ff := &quot;three&quot;, Message(values[ff])  ; в этом случае текст пустой

Message(text)  {
   if (text = &quot;&quot;)   ; если текст пустой, ничего не делаем
      Return
   MsgBox, % text
}</code></pre></div><p>Или, предположим, нам в зависимости от значения нужно вызывать разные функции. Тогда в массив можно поместить отсылки на них с помощью <a href="https://autohotkey.com/docs/objects/Func.htm">Func-объекта</a>:<br /></p><div class="codebox"><pre><code>values := { one: Func(&quot;FirstFunc&quot;), two: Func(&quot;SecondFunc&quot;) }

ff := &quot;one&quot;, values[ff].Call()
ff := &quot;two&quot;, values[ff].Call()
ff := &quot;three&quot;, values[ff].Call()  ; такого нет, не будет обрабатываться

FirstFunc()  {
   MsgBox, % A_ThisFunc
}

SecondFunc()  {
   MsgBox, % A_ThisFunc
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Sat, 17 Jun 2017 21:05:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=116724#p116724</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Тернарный условный оператор]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=116720#p116720</link>
			<description><![CDATA[<p>Если коротко , то мне нужно прописать send для всех возможных комбинаций 8 направлений крестовины и n-го количества кнопок джойстика (для начала возьмем 1 кнопку , думаю для остальных сам допишу), желательно не на уровне дилетанта ибо этот скрипт я улучшаю. Все таки хочется что бы мой прогресс обучения не стоял на месте! <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /></p><p>В моем случае переменная %ff% может принимать 9 разных значений , 1 из которых обрабатывать не нужно.</p><p>А как же быть с другими восьми? <br />Стоит их задавать через этот тернарный условный оператор или банальное if будет лучше?<br />А может лучше сравнять часть %имени переменной с текстом% с выше указанной переменной %ff% и задать текст для печати через команду присвоения предварительно засунув все это в функцию??? </p><div class="codebox"><pre><code>
Func(Text:=a1_%ff%) ; кстати поддерживают ли обращения к функциям выражения?</code></pre></div><p>Или может есть чудо способ назначить хоткей на joyX и joyY , либо провернуть это дело без использования таймера на GetKeyState? (меня бесят бесконечные циклы)</p>]]></description>
			<author><![CDATA[null@example.com (shahlik002)]]></author>
			<pubDate>Sat, 17 Jun 2017 20:13:04 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=116720#p116720</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Тернарный условный оператор]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=116717#p116717</link>
			<description><![CDATA[<div class="codebox"><pre><code>ff := 10
1:: (ff = 10) ? Message(&quot;правда&quot;) : Message(&quot;ложь&quot;)

Message(text)  {
   MsgBox, % text
}</code></pre></div><p>Или так:<br /></p><div class="codebox"><pre><code>ff := 10
1:: Message(ff = 10 ? &quot;правда&quot; : &quot;ложь&quot;)

Message(text)  {
   MsgBox, % text
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Sat, 17 Jun 2017 13:20:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=116717#p116717</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Тернарный условный оператор]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=116716#p116716</link>
			<description><![CDATA[<p><strong>stealzy</strong>, это тоже ни то: &quot;y := (x &lt;= 10)&quot;, ведь пользователь не указывал переменную &quot;y&quot; перед сравнением. Я думаю, надо так:<br /></p><div class="codebox"><pre><code>zx = 10

zx != 10 ? s() : b()

s() {
MsgBox правда
}

b() {
MsgBox ложь
}
</code></pre></div><br /><p>, но в этом случае срабатывает один раз ложь.</p>]]></description>
			<author><![CDATA[null@example.com (svoboden)]]></author>
			<pubDate>Sat, 17 Jun 2017 13:11:37 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=116716#p116716</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Тернарный условный оператор]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=116715#p116715</link>
			<description><![CDATA[<p><strong>svoboden</strong>, бессмысленные return в коде, исполнение никогда на них не перейдет.<br />Return в ф-иях используется только если надо вернуть какое-то значение и ставится перед закрывающей скобкой.<br /></p><div class="codebox"><pre><code>x := 10
; ++x
y := (x &lt;= 10) ? (s(), b()) : (b(), s())
MsgBox % y
ExitApp

s() {
	MsgBox 1
	Return &quot;One&quot;
}

b() {
	MsgBox 2
	Return &quot;Two&quot;
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (stealzy)]]></author>
			<pubDate>Sat, 17 Jun 2017 12:43:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=116715#p116715</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Тернарный условный оператор]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=116713#p116713</link>
			<description><![CDATA[<p>Как-нибудь так:<br /></p><div class="codebox"><pre><code>zx = 10

1:: zx &lt; 11 and zx &gt; 9 ? s() : b()

s() {
MsgBox правда
}

b() {
MsgBox ложь
}
return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (svoboden)]]></author>
			<pubDate>Sat, 17 Jun 2017 12:23:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=116713#p116713</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Тернарный условный оператор]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=116712#p116712</link>
			<description><![CDATA[<p>Высмотрел в справке этот самый оператор.<br />Использовать его с присвоениями конечно хорошо , вот только как его использовать с другими командами?<br /></p><div class="codebox"><pre><code>
1:: ff == 10 ? MsgBox 1 : Msgbox 2
</code></pre></div><p>Не работает. Что я сделал неправильно?</p>]]></description>
			<author><![CDATA[null@example.com (shahlik002)]]></author>
			<pubDate>Sat, 17 Jun 2017 12:00:26 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=116712#p116712</guid>
		</item>
	</channel>
</rss>
