还请教一下,在LUA语言中如何计算加减法运算?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了还请教一下,在LUA语言中如何计算加减法运算?相关的知识,希望对你有一定的参考价值。

计算的结果如何输出在输入框里面,就像输入文字一样??谢谢

Lua 作为一个 解释型脚本 语言 可以非常容易的 动态执行一些代码(也就是根据动态获取的字符串作为代码去编译)。

 

这样,很容易写出 一个 简单的输入型计算器。

 
local function main ()
    io.write("Please input a numeric expression: ")
    local msg =  io.read()
    f = loadstring("return "..msg)
    print( f() );
end
main()
--[[
input: 1 - 1/3 + 1/5 - 1/7
print: 0.72380952380952
input: "abc".."xyz"
print: abcxyz
input: os.time()
print: 1375383363
input: "hack"..os.execute("echo it's very dangerous.").."code"
print: abcxyz
--]]

 

但是,如果没有实现系统函数的权限和安全性控制的封装,直接把程序暴漏给用户,也许这种灵活性 会带来一些无法挽回的损失

 

比如注释中最后一个事例,用户变调用了 本地(windows系统)可执行命令,试想如果这条命令不是简单输出一段字符串,而是格式化整个磁盘,异或是下载木马,那么后果是不可估量的。

参考技术A 例子:
include <stdio.h>
int main()

char a[15]="windows98";
printf("%s\n",a+7);
return 0;


LUA语言中
#include <stdio.h>
int main()

char a[15]="windows98";
printf("%s\n",a+7); // a+7相当于&a[7],也就是从a的首地址偏移7个位置,结果是:98
return 0;

以上是关于还请教一下,在LUA语言中如何计算加减法运算?的主要内容,如果未能解决你的问题,请参考以下文章

C语言中16进制之间的加减乘除运算怎么做?

c语言问题 请问如何随机产生加减乘除任意一种运算符号呢

lua元表(metatable)

Lua 错误处理

在Python中进行加减乘除

python日期加减比较问题请教