Revision Difference
player.Iterator#561004
<function name="Iterator" parent="player" type="libraryfunc">
<description>
Returns an iterator for all players on the server.
⤶
This will be quite a bit faster than <page>player.GetAll</page>, especially when using the `break` keyword.
Returns a [Stateless Iterator](https://www.lua.org/pil/7.3.html) for all players on the server.
Intended for use in [Generic For Loops](https://www.lua.org/pil/4.3.5.html)
⤶
Internally, this function uses cached values that exist entirely within lua, as opposed to <page>player.GetAll</page> which is a C++ function.⤶
Because switching from lua to C++ is a slow process, this function is significantly more efficient than <page>player.GetAll</page>, expecially when using the `break` keyword.⤶
</description>
<added>2023.10.13</added>
<realm>Shared</realm>
<file line="314-L320">lua/includes/extensions/player.lua</file>
<rets>
<ret name="" type="function">Iterator function</ret>⤶
<ret name="" type="table">Table of all existing <page>Player</page>s.</ret>⤶
<ret name="" type="number">Will always be 0. Start index?</ret>⤶
<ret name="" type="function">The Iterator Function from <page text="ipairs">Global.ipairs</page></ret>⤶
<ret name="" type="table">Table of all existing <page text="Players">Player</page>. This is a cached copy of <page>player.GetAll</page></ret>⤶
<ret name="" type="number">⤶
The starting index for the table of players. ⤶
This is always `0` and is returned for the benefit of [Generic For Loops](https://www.lua.org/pil/4.3.5.html)⤶
</ret>⤶
</rets>
</function>
<example>
<description>Example usage of this function.</description>
<code>
for _, ply in player.Iterator() do
print( ply )
end
</code>
<output>Prints out all players to the console.</output>
</example>