jkeks блог


PHP vs AutoHotKey. Сравнение массивов.

20.11.2020 - 689 просмотров ;)




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





 



Сегодня: 2020.11.30
Рейтинг@Mail.ru