1 (изменено: equipment66, 2020-03-29 19:33:01)

Тема: AHK: Вопрос по синтаксису выражений

Здравствуйте.

Столкнулся с непоняткой:


List = 16,25,50
Temp := 0
Loop, Parse, List, `,
{
	If Item%A_LoopField% =
		Item%A_LoopField% := 0			; присваивается 
	If List <>
	{
		Loop, Parse, List, `,					; Считаем элементы в строке
		{
			Temp += 1							; Суммируется 
			Item%A_LoopField% += 1		; ... Не суммируется 
		}
	}
}
Pause

При запуске кода отдельно, все работает. Когда тот же код вставляю в тело функции, индексированная переменная не желает суммироваться. Проверил, код исполнялся. Перезагрузка компа не помогла.
Скриншот оригинального кода прикреплен. Я чего-то не замечаю, или это какой-то баг?

Post's attachments

2020-03-29_171047.jpg 89.98 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

2 (изменено: equipment66, 2020-03-29 19:35:32)

Re: AHK: Вопрос по синтаксису выражений

Вот, добавил скриншот окна на паузе.

Post's attachments

2020-03-29_172921.jpg 109.83 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

3

Re: AHK: Вопрос по синтаксису выражений

Так это разные коды. Вложенный цикл на скриншоте другой.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

4 (изменено: equipment66, 2020-03-29 19:49:56)

Re: AHK: Вопрос по синтаксису выражений

teadrinker
Естественно. Там обвязка немалая. Просто выделил суть отдельно. Но структура та же, только не в теле функции.
Не работает только суммирование динамической переменной Item2%A_LoopField% += 1. Параллельно поставил костыль
Temp += 1 , работает.

5

Re: AHK: Вопрос по синтаксису выражений

Так во вложенном цикле эта переменная не определена. A_LoopField в одном цикле не то же самое, что A_LoopField в другом.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6

Re: AHK: Вопрос по синтаксису выражений

И я бы вообще такой подход не стал использовать — с динамическими переменными во вложенных циклах. Легко потерять контроль, какие переменные в одном, какие в другом.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7

Re: AHK: Вопрос по синтаксису выражений

teadrinker
Блин.
Пошел чувствовать себя неправым
Спасибо большое .

8

Re: AHK: Вопрос по синтаксису выражений

teadrinker
Пока пишешь, нормально. А вот если потом разобрать надо, то проще заново написать, то правда . Но за совет спасибо.

9

Re: AHK: Вопрос по синтаксису выражений

OFF: Писать надо так, чтобы через 10 лет прочитал и всё вспомнил. С нормальным синтаксисом и подробными комментариями.