Сравнить 2 массива в AutoHotKeys и PHP
Я так привык к PHP что код написал буквально за минуту:
$a1 = file ( ‘1.txt’ , FILE_IGNORE_NEW_LINES );
$a2 = file ( ‘2.txt’ , FILE_IGNORE_NEW_LINES );
$r = array_diff($a1, $a2);
echo implode(«\n», $r);
а на AutoHotKeys никогда не писал такое, и через часа полтора выдавил такой код:
; подключаем библиотеку, без нее будет все плохо а мы используем 2 функции для сравнения разницы массивов и для объединения массива в строку
#Include biga.ahk; обязательно объявить массивы
a1:=[]
a2:=[]
r:=[]; читаем первый файл в массив
Loop, Read, 1.txt
a1.Push(A_LoopReadLine); второй файл в массив
Loop, Read, 2.txt
a2.Push(A_LoopReadLine); создаем объект класса Биги для более удобной работы с массивами
A := new biga(); ищем разницу массивов
res = % A.difference(a1,a2); показываем результат
MsgBox % A.join(res,»`n»)
Код AutoHotKeys конечно менее радостный и приятный, какие-то циклы, какая-то библиотека.. но все равно код достаточно компактный.. Если вынести циклы в библиотеки, то можно было бы сколотить неплохой аналог PHP. А в AutoHotKeysвсе напрашивается на создание своей библиотеки функций