как-нибудь так:
Код:LUA function switch(n, ...) for _,v in ipairs {...} do if v[1] == n or v[1] == nil then return v[2]() end end end function case(n,f) return {n,f} end function default(f) return {nil,f} end switch( action, case( 1, function() <то что надо в случае 1> end), case( 2, function() <то что надо в случае 2> end), default( function() <делаем что-то по умолчанию> end) ) ENDLUA
Все выходные собирал-разбирал, но так и не заработало.
Сумел заставить только компиль принимать этот код не ругаясь ошибками, а как с ним обращатся - так и не получается.
Надо чтобы код вида:
компилился в что-то вродеКод:SELECT CASE 1 LD B,15 CASE 2 LD C,20 ENDSELECT
Код:CP 1 JR NZ,L1 LD B,15 JR KONEC L1 CP 2 JR NZ,L2 LD C,20 JR KONEC L2.... KONEC:
вот так не прокатит?
в списке комманд описываешь с чем сравнивать и что в серединку пихать.Код:ORG 30000 LUA commands = { [1]='LD B,15', [2]='LD C,20', [3]='LD D,35'} for i=1,3 do sj.insert_label("L" .. i, sj.current_address+8) sj.parse_code("CP " .. i) sj.parse_code("JR NZ,L"..i) sj.parse_code(commands[i]) sj.parse_code('JR KONEC') end ENDLUA KONEC:
Destr, ты говори конкретно, примером кода, что ты хочешь запилить на Луа. т.е. не просто абстракция, а код, который ты хочешь получить на выходе при помощи луа или чего-то там.
заходи в аську, потрындим...
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
а тем временем на Next`е:
https://www.youtube.com/watch?v=VJQC...KI2mNiQSibuxrE
ivagor (20.01.2020)
вырвиглазная менюшка резинового(в плохом смысле этого слова) некста вырвиглазна...
и теплый и ламповый АТМ может почти так же...
а так конечно
там хардварное умножение\деление облегчающее жизнь
в списке расширенных команды z80мулятора
- - - Добавлено - - -
а ну и да
НЕКСТ - НЕ СПЕКТРУМ!!!
это фпгадевконфа
я даже не сомневаюсь в этом, но дело не в "может/не может", а в том, могут или не могут наши кодеры. Вот был Алоний (и где-то он и сейчас есть), но не смог в сабж. А больше, видимо, не кому. Я точно "не силён в математике (папа решает, а Вася сдаёт)". А там (в группе Некста), я только кинул клич про Вольфа, БАЦ и через неделю уже первая демка появилась.и теплый и ламповый АТМ может почти так же...
ну и да, Некст вполне себе Спектрум, как и ламповый АТМ.
? Вот же (там только спрайтов нет, в отличие от его wolfов под спековский экран), аж 2013 года.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)