fasm to any other
match =fasm, bestassembler {
display 'That`s true'
rept 0 {} rept 1 {
display 'Why fasm isn`t best?'
}
define bestassembler fasm ; comment this line or alter text fasm to any other match =fasm, bestassembler { display 'That`s true' rept 0 { } rept 1 { display 'Why fasm isn`t best?' } Вот с таким форматированием понятнее, что происходит.
Пример хороший. "That's true" выводит))
Там по-моему при большом уровне вложенности оно ломается
а ты пробовал на каждый новый уровень добавлять больше палочек экранирования?
Пробовал, в определённый момент это не помогает
Да не должно. Но я предпочитаю всё же =matched,matched, с ними можно городить одноуровневые else match, и они остаются читаемыми.
У меня fasm1, там вроде нет else match
если куча логических else match проще действительно переменную matched завести, чем городить уровни вложенности.
хм, rept 1 можно на match заменять, будет похоже на elseif
Аналоги, конечно. Классика: define x b match =matched =a,matched x { define matched display 'a',13,10 } match =matched =b,matched x { define matched display 'b',13,10 } match =matched =c,matched x { define matched display 'с',13,10 } ; можно продолжать копипастить бесконечно ; и очищаем, чтобы сработало в следующий раз restore matched
единственное их застакать сложно, что бы получить if elseif elseif elseif else
Смотрю, думаю, что это за язык программирования.
macro ? line& { irpv temp,?match { restore ?match \} ;match =?match,?match { match ?match, line{ ?match \}} macro ?else line& { match =?match,?match { match ?match, line{ ?match \\}\}} define x c ? match =a,x { a:display 'a',13,10 } ?else match =b,x { a:display 'b',13,10 } ?else match =c,x { a:display 'c',13,10 }
Обсуждают сегодня