AutoHotkey スレッド part17at SOFTWAREAutoHotkey スレッド part17 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト422:419 14/01/19 18:14:49.09 dvav9W940 結局以下のようにして落ち着きました。 降順ループの場合、forだと変数Valueが無駄になるので loopの方がメモリーを無駄遣いしなくて良いのかな・・・なんて思いました。 Loop, % array.Maxindex() { c := array.Maxindex() - (A_Index - 1) MsgBox, % array[c] } 423:名無しさん@お腹いっぱい。 14/01/20 00:24:14.42 hAigsbcH0 オブジェクト内の要素カウントするのはコストかかるんで、 ループ前にローカル変数増やして対処するのが常套手段だけど、 AHKはどうかなぁ 424:名無しさん@お腹いっぱい。 14/01/20 04:48:58.02 qibQGH8z0 i := array.Maxindex() + 1 while --i MsgBox, % array[i] とか i := array.Maxindex() Loop { MsgBox, % array[i] } until !--i とかは? 425:名無しさん@お腹いっぱい。 14/01/20 20:53:51.90 k+hq/v/Y0 >>423-424 ありが㌧ 知らなかったこと色々勉強した・・・ レスが長くなるとアレなんで簡単に書くと 先ずは、「--i」は(記述されたその行で?)演算後の値になること。(「i--」は次に「i」が使われる時点で演算後の値になる) 上段・・・「while 式」は、式「--i」の評価結果が 0 の時点でループ終了すること。 下段・・・「until 式」は、式「!--i」の評価結果が真(true、つまり 0 以外)になるまでループが続行されること。(この場合、「!」が肝) 今回は、後々のメンテナンスで分かりやすい「while」ループを使うことにしました。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch