还请教一下,在LUA语言中如何计算加减法运算?
lua的随机函数
math.random(m,n) m,n表示范围
math.randomseed(os.time())
local x = math.random(100,200)
local y = math.random(400,500)
得到的xy 就是新的值
你首先要知道 lua语言是一个脚本语言
脚本语言的话只负责处理中间的过程,具体很多事务的实现需要依赖于接口
如果针对你的要求
function main() local a = 4 local b = 5 local res = a + b text:setValue(res)end当然 这里不一定就是用text:setValue 因为不同宿主语言提供的接口不一样 这就导致了你的setValue这个名字不一样
而且同时可能有很多的文本框,也会导致你的text不同 具体要看宿主语言的提供
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系统)可执行命令,试想如果这条命令不是简单输出一段字符串,而是格式化整个磁盘,异或是下载木马,那么后果是不可估量的。
例子:
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语言中如何计算加减法运算?
Lua 作为一个 解释型脚本 语言 可以非常容易的 动态执行一些代码(也就是根据动态获取的字符串作为代码去编译)。这样,很容易写出 一个 简单的输入型计算器。local function main () io.write("Please input a numeric expression: ") local msg = io.read() f = loadstring("return ...
来个lua大神呗。请教一下。 print 在lua是指输出。图片中括号内a应该...
输出 nil;即表示为空的意思,类似C语言里面的NULL;a需要先定义,然后才能输出得到数值。
在lua中怎么删除和重命名文件夹
lua有个函数叫os.execute("md 123")就相当于在cmd里执行了md 123 所以删除文件夹就是rd 改名就是rn
请教如何在lua程序中降低cpu占用率
lua是脚本,嵌入使用的,降低 执行频率 应当在宿主程序里面设置,具体参考 c lua api。
请教一个lua长整型转字符串的问题
Lua中的字符串是恒定不变的。String.sub函数以及Lua中其他的字符串操作函数都不会改变字符串的值,而是返回一个新的字符串。l="" .. 123 把数字转换成字符串。l = string.format("FFF%dXXX", 123)数字插入字符串。
请教lua如何反编译,或者指点一下luadec的用法,请不要复制回答问题。_百 ...
那么我们可以使用如下操作 1.打开CMD 命令行窗口 2.在窗口中输入如下命令 c:\\lua\\luadec.exe -d c:\\test\\test.lua >c:\\test\\test_bak.lua 3.使用lua编辑器,打开c:\\test\\test_bak.lua 现在我们就已经看到源码了 至于luadec的其他参数,具体请在cmd中执行luadec.exe后自行查看介绍 ...
lua请教找文本怎么写
string.find(str,Regu)这个方法?返回的是配对初始位置和终止位置。
请教如何用.lua调用.java包内的方法和变量
再加路径,如:原来的值;D:\\Developments\\Lua\\5.1))2.写一个lua的脚本,放在任意路径下。比如在桌面下有文件 hello.lua文件内容为 print('Hello World!')3进入cmd(win+R 输入cmd回车) 切到桌面 cd C:\\Documents\\Desktop\\ 运行脚本即可:lua hello.lua 输出结果为:Hello World!
请教,初学LUA,使用protobuf时出现找不到pb.lua文件问题
客户端lua,通信协议是protobuf,以前用网易的proto-gen-lua,使用过程遇到些问题需要绕,比如: 1、每次更改、增加proto都要生成新的文件,代码规模剧增 2、由于lua本身,每个文件最大文件内全局local变量不能超过200个,所以当proto规模太大时
请教lua中的GetTime函数在哪定义
lua中不自带这个函数 是你的lua function 或者c function lua中关于时间的函数只有 os.time和os.date
漫戴悦南: lua毕竟是外国人发明的语言 而农历是中国人才有的 所以内置的OS库里不可能有农历的计算 只能自己通过转化获得答案了http://wenwen.sogou.com/z/q716857226.htm?an=0&si=1 这个是农历的计算方法 获得新历的方法 可以用os.time()
清远市19818514313: Lua里有没有逻辑运算 中的并和或的运算 - ?
漫戴悦南: Lua有逻辑运算,具体参考如下: 比较运算符< > <= >= == ~= 分别表示 小于,大于,不大于,不小于,相等,不相等.所有这些操作符总是返回true或false. 对于Table,Function和Userdata类型的数据,只有 == 和 ~=可以用.相等表示两个变量...
清远市19818514313: LUA语言请教 function函数使用 - ?
漫戴悦南: 你首先要知道 lua语言是一个脚本语言 脚本语言的话只负责处理中间的过程,具体很多事务的实现需要依赖于接口 如果针对你的要求 function main()local a = 4local b = 5local res = a + btext:setValue(res) end当然 这里不一定就是用text:setValue 因为不同宿主语言提供的接口不一样 这就导致了你的setValue这个名字不一样 而且同时可能有很多的文本框,也会导致你的text不同 具体要看宿主语言的提供
清远市19818514313: 询问下lua中的连续逻辑运算是怎样判定的例如:x = a and b or c中最后是怎么输出的 如果是4个(abcd),或更多呢? - ?
漫戴悦南:[答案] lua的逻辑判断运算符和普通语言的有些不同 普通语言返回的结果无非两种 真 或 假 lua的话 返回的不会是直接的真或假,而是返回第一个结果或第二个结果 比如 a and b 则:如果a为真 则返回b 如果a为假 则返回a a or b 则:如果a为真 则返回a 如果a...
清远市19818514313: 询问下lua中的连续逻辑运算是怎样判定的 - ?
漫戴悦南: lua的逻辑判断运算符和普通语言的有些不同 普通语言返回的结果无非两种 真 或 假 lua的话 返回的不会是直接的真或假,而是返回第一个结果或第二个结果 比如 a and b 则:如果a为真 则返回b 如果a为假 则返回a a or b 则:如果a为真 则返回a 如果a为假 则返回b x = a and b or c恰好是一个很方便的组合 效果相当于C里的 x = a ? b : c 但是要注意一个前提 b不能为假
清远市19818514313: lua语言a星寻路算法路径怎么平滑 - ?
漫戴悦南: 在项目中遇到了自动寻路的需求,于是决定开始学习一下A星,对于A星我也没有深究,只能说是勉强搞定了需求,在这和大家分享一下,相互进步,A星有个公式 f(x) = g(x) + h(x) ,搞清楚这个公式就好办了,f(x)就是当前位置到下一个位置的总...
清远市19818514313: 如何在Java中使用Lua脚本语言 - ?
漫戴悦南: 对于jvm这个平台,上面实现了很多脚本语言,比如python在java上的实现叫做jython,ruby的叫做jruby,lua也有在java上的实现,你可以搜索一下,luajava就是一个.其实在net平台上也有很多脚本语言的实现的,比如iron(python)之类的.
清远市19818514313: lua 如何最快速度入门 - ?
漫戴悦南: Lua脚本语法说明(修订) Lua脚本语法说明(增加lua5.1部份特性) Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱.所以,我只简单的归纳一下Lua的一些语法规则,使用起来方便好查就可以了.估计看完了,就懂得怎么写Lua...
清远市19818514313: Lua语言中数组怎么用 - ?
漫戴悦南: 用luajit里面的ffi库来实现传入多维数组; lua就是个玩的语言,直接把地址按lua_pushnumber给lua,然后用ffi.cast转成要的数组指针类型可以了; Lua 是一个小巧的脚本语言. Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用.不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护
清远市19818514313: 刚学的LUA,有的地方不明白,向各位高手求教?不明白下面的代码,能详细说明下吗? - ?
漫戴悦南: arg表示lua函数被调用时 的参数 你只要展开一下大概就知道是什么了 比如我这里这一段代码 for i,v in pairs(arg) do print(v) end 运行后可以看到-e copy.lua lua io.stdout:setvbuf 'no' 我们就可以知道我们的lua解释器的名字为lua,lua文件当前文件名为...