Class StringLib.gmatch

All Implemented Interfaces:
KryoSerializable
Enclosing class:
StringLib

public static final class StringLib.gmatch extends VarArgFunction
string.gmatch (s, pattern) Returns an iterator function that, each time it is called, returns the next captures from pattern over string s. If pattern specifies no captures, then the whole match is produced in each call. As an example, the following loop s = "hello world from Lua" for w in string.gmatch(s, "%a+") do print(w) end will iterate over all the words from string s, printing one per line. The next example collects all pairs key=value from the given string into a table: t = {} s = "from=world, to=Lua" for k, v in string.gmatch(s, "(%w+)=(%w+)") do t[k] = v end For this function, a '^' at the start of a pattern does not work as an anchor, as this would prevent the iteration.
  • Constructor Details

    • gmatch

      public gmatch()
  • Method Details

    • invoke

      public Varargs invoke(Varargs args)
      Description copied from class: VarArgFunction
      Subclass responsibility. May not have expected behavior for tail calls. Should not be used if: - function has a possibility of returning a TailcallVarargs
      Overrides:
      invoke in class VarArgFunction
      Parameters:
      args - the arguments to the function call.