 created to represent the new instance.</dd>
</dl>

<h3>Example</h3>

<pre>
Cache = oo.class{ __mode = "k" }
function Cache:__index(key)
  local retrieve = rawget(self, "retrieve")
  rawset(self, key, retrieve(self, key))
  return rawget(self, key)
end

Channels = Cache{}
function Channels:retrieve(host)
  return assert(socket.connect(host, 80))
end

for _, request in ipairs(BatchProcess) do
  local c = Channels[request.host]
  assert(c:send(request.data))
  request.reply = assert(c:receive())
end
</pre>

<