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 に答える