PDA

Просмотр полной версии : Макроплагин. Вложенные переменные


manticora
26.01.2010, 14:12
Приветствую,
я никогда не понимал, как в макроплагине можно обходиться без массивов, хешей. И еще я не понимал, что такое "вложенные переменные" (http://ragbot.ru/forum/showpost.php?p=3335&postcount=9). В итоге, до меня таки дошло, что эти вложенные переменные и есть массивы с хэшами. Чтобы в этом разобраться я написал вот такой вот бесполезный макрос.
macro hh {
$var = foo
log $var
${$var} = bar
log ${$var}

log Создадим массив из 10 элементов, присвоим им случайные числа от 1 до 20.
$i = 0
:zikl
$i++
${$i} = @rand(1,20)
log $i ${$i}
if ($i < 10) goto zikl

log Выводим элементы массива и их значения задом наперед.
$i = 11
:zikl2
$i--
log $i ${$i}
if ($i > 1) goto zikl2

}

Вот, что выводится в результате на консоль.

[macro log] foo
[macro log] bar
[macro log] Создадим массив из 10 элементов, присвоим им случайные числа от 1 до 20.
[macro log] 1 19
[macro log] 2 19
[macro log] 3 20
[macro log] 4 20
[macro log] 5 4
[macro log] 6 6
[macro log] 7 20
[macro log] 8 8
[macro log] 9 13
[macro log] 10 9
[macro log] Выводим элементы массива и их значения задом наперед.
[macro log] 10 9
[macro log] 9 13
[macro log] 8 8
[macro log] 7 20
[macro log] 6 6
[macro log] 5 4
[macro log] 4 20
[macro log] 3 20
[macro log] 2 19
[macro log] 1 19