switch(table, value [, ...])
Lua는 switch 또는 case문을 제공하지 않으므로 nzLua는 스위치 함수를 사용하여 대체를 제공합니다.
스위치에 대한 첫 번째 인수는 함수 세트가 포함된 검색 테이블입니다. 두 번째 인수는 호출할 함수를 선택합니다. 모든 추가 인수는 검색 값과 일치하는 함수에 전달됩니다.
검색 테이블의 함수에 전달된 첫 번째 인수는 항상 함수를 검색하는 데 사용된 값이 됩니다. 나머지 인수는 switch문에 제공되므로 전달됩니다. 테이블에서 검색 값을 찾을 수 없는 경우 스위치 함수는 기본 함수를 호출합니다.
예
ops={}
ops['+'] = function(op,a,b) return a+b end
ops['-'] = function(op,a,b) return a-b end
ops['*'] = function(op,a,b) return a*b end
ops.default = function(op,a,b)
error( 'Invalid operation: ' || op, 0 )
end
result = switch(ops,'*',6,7)