Class std.strbuf

String buffers.

Buffers are mutable by default, but being based on objects, they can also be used in a functional style:

local StrBuf = require "std.strbuf" {}
local a = StrBuf {"a"}
local b = a:concat "b"    -- mutate *a*
print (a, b)              --> ab   ab
local c = a {} .. "c"     -- copy and append
print (a, c)              --> ab   abc

Prototype Chain

table
 `-> Object
      `-> StrBuf

Objects

std.strbuf.StrBuf StrBuf prototype object.

Functions

std.strbuf.concat (x) Add a object to a buffer.

Metamethods

std.strbuf:__concat (buffer, x) Support concatenation to StrBuf objects.
std.strbuf:__tostring (buffer) Support fast conversion to Lua string.


Objects

std.strbuf.StrBuf
StrBuf prototype object.

Set also inherits all the fields and methods from std.object.Object.

Fields:

  • _type string object name (default "StrBuf")

See also:

Usage:

     local std = require "std"
     local StrBuf = std.strbuf {}
     local a = {1, 2, 3}
     local b = {a, "five", "six"}
     a = a .. 4
     b = b:concat "seven"
     print (a, b) --> 1234   1234fivesixseven
     os.exit (0)

Functions

Methods
std.strbuf.concat (x)
Add a object to a buffer. Elements are stringified lazily, so if add a table and then change its contents, the contents of the buffer will be affected too.

Parameters:

  • x object to add to buffer

Returns:

    StrBuf modified buffer

Usage:

    buf = buf:concat "append this" {" and", " this"}

Metamethods

std.strbuf:__concat (buffer, x)
Support concatenation to StrBuf objects.

Parameters:

  • buffer StrBuf object
  • x a string, or object that can be coerced to a string

Returns:

    StrBuf modified buf

See also:

Usage:

    buf = buf .. x
std.strbuf:__tostring (buffer)
Support fast conversion to Lua string.

Parameters:

Returns:

    string concatenation of buffer contents

See also:

Usage:

    str = tostring (buf)
generated by LDoc 1.4.3 Last updated 2018-09-03 17:48:42