Страница 1 из 1
Запустить нужный макрос, имея только его номер?
Добавлено: Пт май 29, 2009 7:43 pm
z-0091
$ch = @config (macrErors)
call foo$ch
например $ch=5
нужно что бы запустился макрос foo5. @eval вроде бы работает тока с математ. действиями. Как еше можно сделть? может @arg?
Re: Запустить нужный макрос, имея только его номер?
Добавлено: Пт май 29, 2009 8:33 pm
EternalHarvest
Макроплагин не делает подстановок в команде call...
Macro::Script::next, старое:
Код: Выделить всё
# call command
} elsif ($line =~ /^call\s+/) {
my ($tmp) = $line =~ /^call\s+(.*)/;
if ($tmp =~ /\s/) {
my ($name, $times) = $tmp =~ /(.*?)\s+(.*)/;
my $ptimes = parseCmd($times);
if (defined $ptimes) {
$self->{subcall} = new Macro::Script($name, $ptimes)
}
} else {
$self->{subcall} = new Macro::Script($tmp)
}
новое:
Код: Выделить всё
# call command
} elsif ($line =~ /^call\s+/) {
$self->{subcall} = new Macro::Script (parseCmd ($line) =~ /^call\s+(\S+)(?:\s+(.+))?/);
Код: Выделить всё
macro test {
$myVar = 2
call test$myVar 2
$myVar = 3
call test$myVar
}
macro test2 {
log test2
}
macro test3 {
log test3
}
Re: Запустить нужный макрос, имея только его номер?
Добавлено: Сб май 30, 2009 8:57 am
4epT
насколько я понимаю в подстановке могут быть не только цифры?
Re: Запустить нужный макрос, имея только его номер?
Добавлено: Сб май 30, 2009 9:29 am
z-0091
call test$myVar 2 к чему тут двойка?
Спасибо за подсказку.
зы. Думаю стоит включить это в новую сборку
Re: Запустить нужный макрос, имея только его номер?
Добавлено: Сб май 30, 2009 11:52 am
EternalHarvest
z-0091 писал(а):call test$myVar 2 к чему тут двойка?
Для тестов...