<?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=8272</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8272&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: вложенность тернальных операторов».]]></description>
		<lastBuildDate>Fri, 03 May 2013 17:48:17 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: вложенность тернальных операторов]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=71852#p71852</link>
			<description><![CDATA[<p>Выражение &quot;nn=16 ? 12&quot; не является терна<strong>р</strong>ным, так как нет завершающего или. После окончательного &quot;или&quot;, желательно добавлять кавычки<br /></p><div class="codebox"><pre><code>ff:= nn=2 ? 1 : nn=11 ? 15 : nn=16 ? 12 : &quot;&quot;</code></pre></div><p>В данном случае можно обойтись </p><div class="codebox"><pre><code>ff:= nn=2 ? 1 : nn=11 ? 15 : 12 </code></pre></div><p> Так как результат заранее известен, если не 2 или 11.<br />Также для назначения нескольких переменных можно использовать такую тернарную конструкцию:</p><div class="codebox"><pre><code>
    loop, 3
    { 
        (A_Index = 1) ? (ff := 1 , nn := 2) : (A_Index = 2) ? (ff := 15 , nn := 11) : (ff := 12 , nn := 16) 
        msgbox %  &quot; ff = &quot; ff &quot; `n nn = &quot; nn 
    }</code></pre></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>  loop, 3
    { 
        (A_Index = 1) ? (ff := 1 , nn := 2) 
        : (A_Index = 2) ? (ff := 15 , nn := 11) 
        : (A_Index = 3) ? (ff := 12 , nn := 16) 
        msgbox %  &quot; ff = &quot; ff &quot; `n nn = &quot; nn 
    }</code></pre></div></div></div><p>Или использовать массивы:<br /></p><div class="codebox"><pre><code>
    loop, 3 
        msgbox %  &quot; ff = &quot; ff := {2:1,11:15,16:12}[ nn := [2,11,16][A_Index]] 
        . &quot;`n nn = &quot; nn 
</code></pre></div><p>Но это наверное можно ещё упростить, я с массивами плохо знаком.</p><p>Если всё зависит от итерации цикла то проще:<br /></p><div class="codebox"><pre><code>    loop, 3 
        msgbox %  &quot; ff = &quot; ff := [1,15,12][A_Index]   
        . &quot;`n nn = &quot; nn := [2,11,16][A_Index]   </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Fri, 03 May 2013 17:48:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=71852#p71852</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: вложенность тернальных операторов]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=71817#p71817</link>
			<description><![CDATA[<p>Б-же мой, как все просто. А я два дня &quot;бился&quot;..... Спасибо <strong>YMP</strong></p><p>off: еще &quot;+&quot; пунктик в NFAQ</p>]]></description>
			<author><![CDATA[null@example.com (Mikki)]]></author>
			<pubDate>Thu, 02 May 2013 09:16:41 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=71817#p71817</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: вложенность тернальных операторов]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=71812#p71812</link>
			<description><![CDATA[<p>В последнем случае тоже должен быть оператор выбора &quot;:&quot;<br /></p><div class="codebox"><pre><code>
#NoEnv 
#Singleinstance force

    A1:=2
    A2:=11 
    A3:=16 
    
    loop, 3
    {
        nn:=A%A_Index%
        ff:= nn=2 ? 1 : nn=11 ? 15 : nn=16 ? 12 :
        msgbox, nn=%nn%  ff=%ff%
    }
    
return
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Thu, 02 May 2013 07:00:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=71812#p71812</guid>
		</item>
		<item>
			<title><![CDATA[AHK: вложенность тернальных операторов]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=71810#p71810</link>
			<description><![CDATA[<p>Доброй ночи господа.<br />Не спиться после праздников и пытаюсь понять &quot;отчего скрипт не работает&quot;?<br />После третьего сравнения в тернальном операторе переменная ff пустая. Отчего так?</p><div class="codebox"><pre><code>#NoEnv 
#Singleinstance force

    A1:=2
    A2:=11 
    A3:=16 
    
    loop, 3
    {
        nn:=A%A_Index%
        ff:= nn=2 ? 1 : nn=11 ? 15 : nn=16 ? 12
        msgbox, nn=%nn%  ff=%ff%
    }
    
return</code></pre></div><p>Игрался со скобками и так и эдак. Не поддается.</p>]]></description>
			<author><![CDATA[null@example.com (Mikki)]]></author>
			<pubDate>Thu, 02 May 2013 01:46:47 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=71810#p71810</guid>
		</item>
	</channel>
</rss>
