PHP vs AutoHotKey. Сравнение массивов.
Сравнить 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все напрашивается на создание своей библиотеки функций