所以我的Lua代码看起来像这样:
function makeTable()
return {1,2,3}
end
table = {
makeTable(),
{4,5,6}
}
table
的结果应为{{1, 2, 3}, {4, 5, 6}}
。
我关注makeTable()
之后的逗号。这在Lua中对于返回表的函数是有效的,还是有更好的方法让函数返回表是表的第一项?
答案 0 :(得分:1)
有效。您的代码是否存在任何问题或您正在尝试精确实现的内容?或者,如果您愿意,您可以这样做:
function makeTable()
return {{1,2,3}}
end
t = maketable()
table.insert(t, {4,5,6})
答案 1 :(得分:0)
完全有效function getWeekStartEnd(date) {
// Copy date so don't modify original
date = date? new Date(+date) : new Date();
// Set time to 0 and copy date at same time
var startDate = new Date(date.setHours(0,0,0,0));
// Set startDate to previous Sunday
startDate.setDate(startDate.getDate() - startDate.getDay());
// Set endDate to next Saturday
var endDate = new Date(+date);
endDate.setDate(endDate.getDate() + 6 - endDate.getDay());
return [startDate, endDate];
}
// Current week
getWeekStartEnd().forEach(function(d){
console.log(d.toString());
});
// For Friday 1 September, 2017
getWeekStartEnd(new Date(2017,8,1)).forEach(function(d){
console.log(d.toString());
});
// For Sunday 3 September, 2017
getWeekStartEnd(new Date(2017,8,3)).forEach(function(d){
console.log(d.toString());
});
。尝试将其添加到代码的底部:
Lua
你会看到它打印出来:io.write("{")
for i,v in ipairs(table) do
io.write("{")
for j,m in ipairs(v) do
io.write(m)
io.write(",")
end
io.write("},")
end
print("}")
。
您正在向2D阵列添加数组。
答案 2 :(得分:0)
你可以这样做。但我想这会更清洁:
function makeTable()
return {1,2,3}
end
local t = {}
table.insert(t, makeTable())
table.insert(t, {4, 5, 6})
答案 3 :(得分:0)
这是100%罚款。
你写的那个"在一个函数之后用逗号看起来很奇怪"。好吧,那个逗号与表表达式中的逗号完全一样:它将一个表值与下一个表值分开。
换句话说,{ makeTable(), {4,5,6} }
与{1,2}
完全相同,只是它makeTable()
代替1
,而{4,5,6}
代替2
long tenHoursInMillis = 36000000;
long dateVOMillis = someVO.getDate().getTime();
long dateSysMillis = System.currentTimeMillis();
if(dateSysMillis - dateAMillis > tenHoursInMillis) {
// do something
}
else if(dateSysMillis - dateAMillis < tenHoursInMillis) {
// do something else
}
// do something when they're equal
。