1 (изменено: Clannad5, 2022-10-03 15:24:07)

Тема: OFF: Разница между AHK v1 и v2

teadrinker пишет:
str1 = это "слово" в кавычках
str2 := "это ""слово"" в кавычках"
MsgBox, % str1 . "`n" . str2

Я как раз за это не очень люблю AHK v1, в AHK v2 куда проще реализовано(проще в читаемости):


str1 := "это `"слово`" в кавычках"
MsgBox(str1)

либо же можно просто вот так:


str1 := 'это "слово" в кавычках'
MsgBox(str1)

2

Re: OFF: Разница между AHK v1 и v2

Мне кажется, что в v2 синтаксис в целом сложнее для начинающих, но не могу это проверить.

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

3 (изменено: Clannad5, 2022-10-04 01:42:22)

Re: OFF: Разница между AHK v1 и v2

teadrinker
Практически разницы ноль, за исключением того, что V2 упрощает написание кода и не бросает вас по двум вариантам, как например:


A = 5
A := 5
Msgbox % A
Msgbox %A%

Он даёт только один однозначный правильный вариант:


A := 5
Msgbox(A)

Вы можете проверить через Quick Convertor V2, конвертируя свой Ahk V1 код в V2.
Сразу хочу отметить, что иногда код может конвертироваться в нерабочий. Тут стоит понимать нюансы при написания кода.

К примеру V1:


Loop
{
Goto Label
}

Label:
Msgbox Hello World

V2:


Loop
{
Goto(Label) ; Из-за скобок, мы не сможем перейти в Label
}

Label:
MsgBox("Hello World")

4

Re: OFF: Разница между AHK v1 и v2

Clannad5 пишет:

teadrinker
Практически разницы ноль, за исключением того, что V2 упрощает написание кода и не бросает вас по двум вариантам, как например:


A = 5
A := 5
Msgbox % A
Msgbox %A%

Он даёт только один однозначный правильный вариант:


A := 5
Msgbox(A)

Что-то я не уловил, что неудобного в том,  что существует 2 варианта присвоения A := 5 или A = 5 ?
Первый хорош тем, что явно показано присвоение (не перепутаешь со знаком сравнения). Во втором случае мы имеем возможность писать более понятный код, не применяя кучу экранирований, что упрощает кодеру написание и понимания кода.

5

Re: OFF: Разница между AHK v1 и v2

ypppu
За это «удобство» приходится платить путаницей, возникающей из-за непонимания новичком, что должно идти и как оформляться после знака присваивания, в каком случае должно быть «выражение», а в каком «не выражение», и вообще что это такое. Большая часть ошибок — это попытки присвоить значение одной переменной другой так:

a := %b%
a = b

или передать переменную в функцию так:

MyFunc(%myVar%)

Однозначность в данном случае это плюс.

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

6

Re: OFF: Разница между AHK v1 и v2

Clannad5, я бы не рассматривал ahk v2, как инструмент для написания скриптов, пока она в бетах (если вы не бета-тестер, конечно же).

7

Re: OFF: Разница между AHK v1 и v2

Моё мнение: если новичок собрался хоть сколько-нибудь изучать, то он разберётся, чем A := 5 отличается от A = 5. А если ему нужно пару-тройку готовых решений, и вообще не требуется изучать AutoHotKey - тогда ему кто-нибудь сделает готовый скрипт.

8 (изменено: Clannad5, 2022-10-04 20:24:57)

Re: OFF: Разница между AHK v1 и v2

Malcev
Это ведь бета, а не альфа, есть разница.
Максимум что в бета может произойти, это нестабильность в том или ином плане, что своевременно исправляется.
Но как на мой взгляд, так и на взгляд других пользователей, версия V2 более чем стабильна.

К тому же есть разные варианты, есть AHK_H v2, а есть AHK_L V2, так же есть еще версия от thqby, которая имеет свои улучшения/изменения.
Мне нравится больше сборка от thqby.

Если ты новичок, то несомненно AHK_L будет лучше, т.к на него тысячи гайдов, функций, классов и помощь на форуме будет поступать быстрее.
Но лично для меня AHK_H v2 поприятнее и я с уверенностью могу сказать, что в будущем точно не будет желаний переходить на прежнею версию.

ypppu пишет:

Моё мнение: если новичок собрался хоть сколько-нибудь изучать, то он разберётся, чем A := 5 отличается от A = 5. А если ему нужно пару-тройку готовых решений, и вообще не требуется изучать AutoHotKey - тогда ему кто-нибудь сделает готовый скрипт.

Когда то давно, я обращался к AHK просто с мыслью о том, что это единственное решение моей проблемы в написание простого бота для игры.
Я не думал, что мне это будет интересно. После написания бота, я только через пару лет заинтересовался этим делом, т.к вспомнил про этот продукт.

Естественно в тот период у меня и в мыслях не было желаний его изучать, я просто понял что это довольно легко сделать.
Но опять же, платить кому-то 100-500 рублей, чтобы он сделал тебе кликер из 3 строчек навряд ли кто-то захочет.
Мир таков, что интернет полон детьми, которые не будут(в большинстве случаев) отдавать подобные деньги за одну фигню, которую ему захотелось попробовать в игре.

9

Re: OFF: Разница между AHK v1 и v2

Я и не говорю про игры. Мне пригождалась AutoHotKey на работе и дома. Иногда работу можно сделать быстрее и с меньшим напряжением, если под неё есть готовый скрипт. Простейший пример - автоматизация сканирования документов.

10 (изменено: Malcev, 2022-10-04 21:33:00)

Re: OFF: Разница между AHK v1 и v2

Clannad5 пишет:

Максимум что в бета может произойти, это нестабильность в том или ином плане, что своевременно исправляется.

Вы наверное просто еще не сталкивались с багами/ограничениями программ.
Чтобы исправить баг нужно еще понять/воссоздать ситуацию при которой он проявляется.
И если с ahk-l, я надеюсь, всё более-менее понятно, то с остальными версиями - это черный ящик.

11

Re: OFF: Разница между AHK v1 и v2

Malcev
Вы сами пользовались AHK V2 или у вас чисто мнение большинства, которые боятся переходить на что-то новое?
Сталкивались с багами?Вроде V2 уже много лет реализуется, почему бы ему не дать шанс?

12

Re: OFF: Разница между AHK v1 и v2

Clannad5 пишет:

Вы сами пользовались AHK V2

Нет и не собираюсь.

Clannad5 пишет:

или у вас чисто мнение большинства, которые боятся переходить на что-то новое?

Зачем мне переходить на продукт, который используют два с половиной человека, без готовых необходимых мне библиотек.
Если бы я и собирался переходить на что-то новое, то пожалуй на пайтон.
А мнение мое основано на том, сколько всего фиксится в каждом апдейте.

13

Re: OFF: Разница между AHK v1 и v2

Malcev
Тогда и говорить не о чем.

14

Re: OFF: Разница между AHK v1 и v2

teadrinker, может стоит создать подфорум AutoHotkey v2?
А то такие вопросы вносят путанницу.
http://forum.script-coding.com/viewtopic.php?id=17396

15

Re: OFF: Разница между AHK v1 и v2

Создавать новые разделы в компетенции atomix'а. Если количество вопросов по v2 и количество людей, которым эта тема интересна, будут увеличиваться, тогда будет иметь смысл. На данный момент я бы просто посоветовал авторам как-то маркировать свои топики, в заголовке, или в начале текста.

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

16

Re: OFF: Разница между AHK v1 и v2

Тогда может создать новый префикс "AHK2:"?

17

Re: OFF: Разница между AHK v1 и v2

В каком смысле создать? Насколько я помню, у нас там скрипт просто подставляет префикс в зависимости от раздела.

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

18

Re: OFF: Разница между AHK v1 и v2

Создать в правилах, что если вопрос касается ahk v2, то ставить соответствующий префикс.

19

Re: OFF: Разница между AHK v1 и v2

Это можно. Правда, мало надежды, что будут ставить без замечаний.

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

20

Re: OFF: Разница между AHK v1 и v2

Добавил.

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

21

Re: OFF: Разница между AHK v1 и v2

Отлично.
Можно еще сюда продублировать:
https://forum.script-coding.com/viewtopic.php?id=12263

22

Re: OFF: Разница между AHK v1 и v2

Готово.

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