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
я никогда не понимал, как в макроплагине можно обходиться без массивов, хешей. И еще я не понимал, что такое "вложенные переменные" (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