A consumer can request only part of a producer's sequence.

Consumer Request

consumer_request.lua
local requested = 
local consumed = 0
local lastItem = ""

for item = 1, 3 do
  if consumed < requested then
    consumed = consumed + 1
    lastItem = "item" .. item
  end
end

print("requested=" .. requested)
print("consumed=" .. consumed)
print("lastItem=" .. lastItem)
local requested = 
local consumed = 0
local lastItem = ""

for item = 1, 3 do
  if consumed < requested then
    consumed = consumed + 1
    lastItem = "item" .. item
  end
end

print("requested=" .. requested)
print("consumed=" .. consumed)
print("lastItem=" .. lastItem)
local requested = 
local consumed = 0
local lastItem = ""

for item = 1, 3 do
  if consumed < requested then
    consumed = consumed + 1
    lastItem = "item" .. item
  end
end

print("requested=" .. requested)
print("consumed=" .. consumed)
print("lastItem=" .. lastItem)
consumer The consumer decides how many produced values it needs before stopping.