还请教一下,在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语言中如何计算加减法运算?的主要内容,如果未能解决你的问题,请参考以下文章