Pascal(Delphi)、VB中都有一个with关键字,可以帮助程序员减少大量的输入、提高效率。Lua 中没有这个关键字,但我们可以利用以下方式模拟。
例:
a={}
setfenv(function()
a=1
b=2
end,a)()
以上代码效果等于:
a.a=1
a.b=2
等价于Pascal中的:
with a do
begin
a:=1;
b:=2;
end;
当然,这样只能用于赋值,如果需要在a{}中写函数就不能这么写了。这时可以这样写:
a=s...
看到一个求素数的题目,忽然想试试欧拉筛有多快。
题目:求一千万内素数的个数。
先看最普通的筛子:1077秒
T = os.time()
--求iMaxN内的素数
local iMaxN = 10000000
--普通筛子
local iSS = {} --素数数组
local iSZ = {} --筛子
for i = 1, iMaxN do
iSZ[i] = i
end
--过筛求出所有素数
for i = 2, math.sqrt(iMaxN) do
for j = i + 1, iMaxN do
if ...
最新的Lua版本是5.3.4,网上能找到的编译过的版本有这么几种:
1、Lua5.3.4源码
2、用新版MinGW-w32/w64编译的Lua5.3.4,只有exe文件,没有链接库,同时MinGW必须带上libgcc_s_dw2-1.dll这么一个库,用起来比较麻烦
3、用TCC编译并压缩过的Lua5.3.4,只有64K大,但也没链接库
因此,我想重新编译源码,生成动态/静态链接库及exe文件。因为最近在学习TCC,而TCC是是标准的C99,所以试着用TCC(0.9.27)来编译。以下默认TCC已经安装好(其实就是解压TCC到某个文...