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:
- buffer StrBuf object
Returns:
-
string
concatenation of buffer contents
See also:
Usage:
str = tostring (buf)