2

是否可以区分通话

myFunc()

myFunc(nil)

在函数 myFunc?

4

1 回答 1

8

实际上可以nil在 Lua 函数中区分值和无值,前提是它们期望操作符的参数数量可变...。但是,利用这一点并不容易,也不合理。例子:

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
于 2012-09-27T15:59:01.380 回答