Автокликер Clickermann :: Форум
Основной раздел => Предложения => Topic started by: Сергей on November 13, 2012, 06:11:26 PM
-
Макросы позволяют пользователю расширять синтаксис языка. Хоть они и сложны в реализации, их полезность очевидна.
Пример макроса:
#define echo print
Тут макросом просто создается псевдоним для функции print.
#define slclick(\1,\2,\3) lclick(\1,\2)\
waitms(\3)\
lclick(\1,\2)\
waitms(\3)
slclick(1000,1000,30)
А это уже пример по-сложнее.
Слеши с цифрами - переменные макроса. Можно ставить любое значение, в до 10.
Слеши в конце строки - перевод строки без потери "фокуса" макроса. Т.е. без них перенос строки означает конец макроса.
При запуске скрипта, препроцессором все это переводится в вид:
lclick(1000,1000)
waitms(30)
lclick(1000,1000)
waitms(30)
И уже исполняется.
В наше время, когда макросы есть даже в ассемблере, хотелось бы видеть их и в кликермане.
Да и какая-никакая замена пользовательских фун-ий.
Конечно навряд ли явтор сделает эту фичу в ближайших версиях, но пусть тут все равно висит эта "хотелка" ::)
-
чем в данном случае (кроме более страшного синтаксиса) макросы будут отличаться от теперешних подпрограмм и в обозримом будушем польз. функций?
идея кстати сделать #define (для задания псевдонимов и констант) у меня была.
если повесить константы на препроцессор, то кликер будет работать шустрее чем сейчас в этом плане.
-
Тем что они с аргументами, и обрабатываются препроцессором. Так же с помощью них можно и синтаксис расширить, ну например вот так:
#define ifn(\1) if(\1 = 0)
#define iff(\1) if(\1 = 0)
#define ift(\1) if(\1 = 1)
И да, быстродействие конечно же.
-
+1, но было бы приятнее видеть в виде переменных стандартные переменные clickermann, чем слеш-цифру