所以,基本上我正在尝试创建一个解决x值的函数。
例如,,x + 4 = 8 所以我试图这样做,它用“”替换x,然后在这种情况下得到它前面的符号,“+”并用“”替换它 但为了这样做,而不是删除它背后的虚构符号,我需要检查索引是否为1。
我的大脑受伤了。
这是我对该函数所拥有的内容,我删除了一些获取索引的代码,导致它无法正常工作。
mathMod.solveExpression = function(variable, expression)
if (string.find(expression, "=") == nil) then
-- void
else
-- continue with search but with variable
if (string.find(expression, variable) == nil) then
-- void
else
-- ooh time for some sneaky equations
local copy = expression
for i = 1, #expression do
local c = expression:sub(i,i)
if (expression == c) then
end
end
end
end
end
/链接到我的代码`https://pastebin.com/DnKPdw2q /
答案 0 :(得分:1)
如果你的方程式都是 var op a = b 的形式,请尝试使用Lua模式匹配的代码:
s=" x + 4 = 8 "
var,op,a,b = s:match("(%w+)%s*(%p)%s*(%d+)%s*=%s*(%d+)")
print(var,op,a,b)
模式捕获第一个单词作为 var ,跳过空格,捕获标点符号作为操作,跳过空格,捕获操作数 a ,跳过可能被空格包围的等号,最后捕获操作数 b 。