From e70f51aa32a11a4217f3db09cdae769facb0966f Mon Sep 17 00:00:00 2001 From: Hybrid Dog Date: Tue, 3 Jan 2017 14:44:06 +0100 Subject: [PATCH] allow discarding the return values of instructions M faden.lua M standardbefehlssatz.lua M util/standartbefehlssatz_doc.lua --- faden.lua | 14 +++++--------- standardbefehlssatz.lua | 2 +- util/standartbefehlssatz_doc.lua | 2 +- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/faden.lua b/faden.lua index 2356352..49d4a0e 100644 --- a/faden.lua +++ b/faden.lua @@ -27,20 +27,16 @@ local function befehl_ausfuhren(faden) if not weiter then return false, "Command " .. befehl .. ": " .. ergebnis end - if ergebnis ~= nil then + if args + and ergebnis ~= nil then if type(ergebnis) ~= "table" then ergebnis = {ergebnis} end for i,v in pairs(ergebnis) do - if not ersetzbar[i] then - -- message sometimes incorrect - return false, "Command " .. befehl .. ": Attempt on changing an immediate" + if args[i] + and ersetzbar[i] then + vars[args[i]] = v end - if not args[i] then - -- can this happen? Is it a mistake in instruction set? bef ,b,,d - return false, "Command " .. befehl .. ": Missing target argument" - end - vars[args[i]] = v end end faden.ip = faden.ip + 1 diff --git a/standardbefehlssatz.lua b/standardbefehlssatz.lua index 14e255d..12cd787 100644 --- a/standardbefehlssatz.lua +++ b/standardbefehlssatz.lua @@ -237,7 +237,7 @@ s = { if type(p) ~= "number" then return false, UAT end - subsucc,msg = s.usleep({p * 1000000}, faden) + local subsucc,msg = s.usleep({p * 1000000}, faden) if not subsucc then return false, SE .. msg end diff --git a/util/standartbefehlssatz_doc.lua b/util/standartbefehlssatz_doc.lua index fb388f2..64e4142 100644 --- a/util/standartbefehlssatz_doc.lua +++ b/util/standartbefehlssatz_doc.lua @@ -62,7 +62,7 @@ o = o .. "\n\nInstructions:\n\n" for i = 1,#instr do i = instr[i] o = o .. i[1] .. " " .. i[2] .. "\n" - .. " " .. i[3] .. "\n\n" + .. " " .. i[3] .. "\n\n" -- TODO: max 80 letters each line end print(o)