zues
发表于 2017-7-3 16:43:27
果然是程序员的游戏,一脸懵逼
xiaoxin
发表于 2017-7-4 10:03:18
2,在函数a调用函数b,比函数b作为参数传递给函数a,慢10倍!!!
这句是指后面代码里的test 8吧?
但实际那个test的两种情况都是把函数作为参数传进去了。区别只是:把function作为参数传进去之前,应该先localize一下,这样比较快。不要直接在传参时写function。
kkena
发表于 2017-7-4 10:36:28
一脸懵逼
pakeh
发表于 2017-7-4 11:06:15
一脸懵逼
kkena
发表于 2017-7-4 12:06:13
回复 8# suwuji
这样操作,table里会有个nil啊,怎么把那nil删掉?
creat
发表于 2017-7-4 16:59:02
回复 15# kkena
后面的值向前跟进,把空填平。这样的开销也会比remove小。
或者根本不理它,遇到nil跳过
fccd
发表于 2017-7-4 18:24:55
唉
蓝瘦
好无奈
一脸懵逼
好好的游戏
被程序员祸害
我等萌萌哒麻瓜
该怎么活呀怎么活
creat
发表于 2017-7-4 18:47:14
回复 17# fccd
这里只需要写写简单脚本,正常人稍微花点时间学会不难,提这个主题的玩家把程序员工作想得太简单了。
zine 发表于 2017-6-6 06:42 PM http://www.pkuxkx.com/forum/images/common/back.gif
kkena
发表于 2017-7-5 17:26:38
回复 16# creat
不会啊
求栗子
creat
发表于 2017-7-5 19:55:08
本帖最后由 creat 于 2017-7-5 12:03 PM 编辑
回复 19# kkena-----------生成一个表
function show_test(nn)
if type(nn)~="number" then return print"需要一个数字" end
math.random()
local t={}
for i=1,nn do
t=i
end return step_1(t,nn) end
-----------赋值nil
function step_1(t,nn)
local n=math.random (1,nn)
local m=math.random (n,nn)
t,t,t=nil,nil,nil
return step_2(t)
end
-----------填充
function step_2(t)
local n=0
for i=1,table.maxn(t)
do
if not t then n=n+1
elseif n~=0 then t=t t=nil
end end return step_3(t)end
-----------验证
function step_3(t)
for i,v in ipairs (t)
do print (i,v)
end
end