Module pl.utils
Generally useful routines.
Functions
args (...) | take an arbitrary set of arguments and make into a table. |
bind1 (fn, p) | bind the first argument of the function to a value. |
choose (cond, value1, value2) | return either of two values, depending on a condition. |
escape (s) | escape any 'magic' characters in a string |
fprintf (f, fmt, ...) | write an arbitrary number of arguments to a file using a format. |
function_arg (f) | process a function argument. |
import (t, T) | take a table and 'inject' it into the local namespace. |
is_callable (obj) | is the object either a function or a callable object?. |
is_type (obj, tp) | is the object of the specified type?. |
memoize (func) | 'memoize' a function (cache returned value for next call). |
printf (fmt, ...) | print an arbitrary number of arguments using a format. |
quit (code, msg, ...) | end this program gracefully. |
readfile (filename) | return the contents of a file as a string |
readlines (filename) | return the contents of a file as a list of lines |
split (s, re) | split a string into a list of strings separated by a delimiter. |
splitl (s) | split a string into a list of strings separated by either spaces or commas. |
splitv (s, re) | split a string into a number of values. |
writefile (filename, str) | write a string to a file |
Functions
- args (...)
-
take an arbitrary set of arguments and make into a table. This returns the table and the size; works fine for nil arguments
Parameters:
-
...
: arguments
Usage:
local t,n = utils.args(...)
Return values:
- table
- table size
-
- bind1 (fn, p)
-
bind the first argument of the function to a value.
Parameters:
-
fn
: a function of at least two values -
p
: a value
Return value:
- a function such that f(x) is fn(p,x)
See also:
-
- choose (cond, value1, value2)
-
return either of two values, depending on a condition.
Parameters:
-
cond
: A condition -
value1
: Value returned if cond is true -
value2
: Value returned if cond is false (can be optional)
-
- escape (s)
-
escape any 'magic' characters in a string
Parameters:
-
s
: The input string
-
- fprintf (f, fmt, ...)
-
write an arbitrary number of arguments to a file using a format.
Parameters:
-
f
: -
fmt
: The format (see string.format) -
...
:
-
- function_arg (f)
-
process a function argument.
This is used throughout Penlight and defines what is meant by a function:
Something that is_callable, or an operator string as defined by pl.operator,
such as '>' or '#'.Parameters:
-
f
: a function, operator string, or callable object
Return value:
- a callable
-
- import (t, T)
-
take a table and 'inject' it into the local namespace.
Parameters:
-
t
: The Table -
T
: An optional destination table (defaults to callers environment)
-
- is_callable (obj)
-
is the object either a function or a callable object?.
Parameters:
-
obj
:
-
- is_type (obj, tp)
-
is the object of the specified type?. If the type is a string, then use type, otherwise compare with metatable
Parameters:
-
obj
: an object -
tp
: a type
-
- memoize (func)
-
'memoize' a function (cache returned value for next call). This is useful if you have a function which is relatively expensive, but you don't know in advance what values will be required, so building a table upfront is wasteful/impossible.
Parameters:
-
func
: a function of at least one argument
Return value:
- a function with at least one argument, which is used as the key.
-
- printf (fmt, ...)
-
print an arbitrary number of arguments using a format.
Parameters:
-
fmt
: The format (see string.format) -
...
:
-
- quit (code, msg, ...)
-
end this program gracefully.
Parameters:
-
code
: The exit code -
msg
: A message to be printed -
...
: extra arguments for fprintf
See also:
-
- readfile (filename)
-
return the contents of a file as a string
Parameters:
-
filename
: The file path
Return value:
- file contents
-
- readlines (filename)
-
return the contents of a file as a list of lines
Parameters:
-
filename
: The file path
Return value:
- file contents as a table
-
- split (s, re)
-
split a string into a list of strings separated by a delimiter.
Parameters:
-
s
: The input string -
re
: A regular expression; defaults to spaces
Return value:
- a list-like table
-
- splitl (s)
-
split a string into a list of strings separated by either spaces or commas.
Parameters:
-
s
: The input string
Return value:
- a list-like table
-
- splitv (s, re)
-
split a string into a number of values.
Parameters:
-
s
: the string -
re
: the delimiter, default space
Usage:
first,next = splitv('hello:dolly',':')
Return value:
- n values
See also:
-
- writefile (filename, str)
-
write a string to a file
Parameters:
-
filename
: The file path -
str
: The string
-