检测lua中的单个nil参数

时间:2012-09-27 13:46:45

标签: function lua null

是否可以区分呼叫

myFunc()

myFunc(nil)

在函数myFunc中?

1 个答案:

答案 0 :(得分:8)

实际上可以区分Lua函数中的nil值和无值,只要它们期望...运算符的参数可变。但是,利用它并​​不是非常容易也不合理。例如:

function myFunc(...)
  if select('#', ...) == 0 then
    print "Called without argument"
  elseif select('#', ...) == 1 and select(1, ...) == nil then
    print "Called with a nil argument"
  end
end