With a return value

Control flow / Jump statements / "return" statement

local function contain_number(numbers, number)
  for index, current in ipairs(numbers) do
    if current == number then
      -- Two values: the flag and the position
      return true, index
    end
  end
  return false
end

local data = {1, 2, 3}
local is_contain2, index2 =
  contain_number(data, 2)
-- is_contain2 = true
-- index2 = 2

local is_contain4, index4 =
  contain_number(data, 4)
-- is_contain4 = false
-- index4 = nil

print("is_contain2 = " .. tostring(is_contain2))
print("index2 = " .. index2)
print("is_contain4 = " .. tostring(is_contain4))
print("index4 = " .. tostring(index4))