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)