Module std.operator
Functional forms of Lua operators.
Functions
| concat (a, b) | Stringify and concatenate arguments. | 
| conj (a, b) | Return the logical conjunction of the arguments. | 
| diff (a, b) | Return the difference of the arguments. | 
| disj (a, b) | Return the logical disjunction of the arguments. | 
| eq (a, b) | Return the equality of the arguments. | 
| get (t, k) | Dereference a table. | 
| gt (a, b) | Return whether the arguments are in descending order. | 
| gte (a, b) | Return whether the arguments are not in ascending order. | 
| lt (a, b) | Return whether the arguments are in ascending order. | 
| lte (a, b) | Return whether the arguments are not in descending order. | 
| mod (a, b) | Return the modulus of the arguments. | 
| neg (a) | Return the logical negation of the arguments. | 
| neq (a, b) | Return the inequality of the arguments. | 
| pow (a, b) | Return the exponent of the arguments. | 
| prod (a, b) | Return the product of the arguments. | 
| quot (a, b) | Return the quotient of the arguments. | 
| set (t, k, v) | Set a table element, honoring metamethods. | 
| sum (a, b) | Return the sum of the arguments. | 
Functions
Methods- concat (a, b)
- 
    Stringify and concatenate arguments.
    Parameters:- a an argument
- b another argument
 Returns:- 
        concatenation of stringified arguments.
    
 Usage:--> "=> 1000010010" functional.foldl (concat, "=> ", {10000, 100, 10}) 
- conj (a, b)
- 
    Return the logical conjunction of the arguments.
    Parameters:- a an argument
- b another argument
 Returns:- 
        logical a and b
    
 Usage:--> true functional.foldl (conj, {true, 1, "false"}) 
- diff (a, b)
- 
    Return the difference of the arguments.
    Parameters:- a an argument
- b another argument
 Returns:- 
        the difference between a and b
    
 Usage:--> 890 functional.foldl (diff, {10000, 100, 10}) 
- disj (a, b)
- 
    Return the logical disjunction of the arguments.
    Parameters:- a an argument
- b another argument
 Returns:- 
        logical a or b
    
 Usage:--> true functional.foldl (disj, {true, 1, false}) 
- eq (a, b)
- 
    Return the equality of the arguments.
    Parameters:- a an argument
- b another argument
 Returns:trueif a is b, otherwisefalse
- get (t, k)
- 
    Dereference a table.
    Parameters:- t table a table
- k a key to lookup in t
 Returns:- 
        value stored at t[k] if any, otherwise 
 nilUsage:--> 4 functional.foldl (get, {1, {{2, 3, 4}, 5}}, {2, 1, 3}) 
- gt (a, b)
- 
    Return whether the arguments are in descending order.
    Parameters:- a an argument
- b another argument
 Returns:trueif a is greater then b, otherwisefalse
- gte (a, b)
- 
    Return whether the arguments are not in ascending order.
    Parameters:- a an argument
- b another argument
 Returns:trueif a is not greater then b, otherwisefalse
- lt (a, b)
- 
    Return whether the arguments are in ascending order.
    Parameters:- a an argument
- b another argument
 Returns:trueif a is less then b, otherwisefalse
- lte (a, b)
- 
    Return whether the arguments are not in descending order.
    Parameters:- a an argument
- b another argument
 Returns:trueif a is not greater then b, otherwisefalse
- mod (a, b)
- 
    Return the modulus of the arguments.
    Parameters:- a an argument
- b another argument
 Returns:- 
        the modulus of a and b
    
 Usage:--> 3 functional.foldl (mod, {65536, 100, 11}) 
- neg (a)
- 
    Return the logical negation of the arguments.
    Parameters:- a an argument
 Returns:- 
        not a
    
 Usage:--> {true, false, false, false} functional.bind (functional.map, {std.ielems, neg}) {false, true, 1, 0} 
- neq (a, b)
- 
    Return the inequality of the arguments.
    Parameters:- a an argument
- b another argument
 Returns:falseif a is b, otherwisetrueUsage:--> true local f = require "std.functional" table.empty (f.filter (f.bind (neq, {6}), std.ielems, {6, 6, 6}) 
- pow (a, b)
- 
    Return the exponent of the arguments.
    Parameters:- a an argument
- b another argument
 Returns:- 
        the a to the power of b
    
 Usage:--> 4096 functional.foldl (pow, {2, 3, 4}) 
- prod (a, b)
- 
    Return the product of the arguments.
    Parameters:- a an argument
- b another argument
 Returns:- 
        the product of a and b
    
 Usage:--> 10000000 functional.foldl (prod, {10000, 100, 10}) 
- quot (a, b)
- 
    Return the quotient of the arguments.
    Parameters:- a an argument
- b another argument
 Returns:- 
        the quotient a and b
    
 Usage:--> 1000 functional.foldr (quot, {10000, 100, 10}) 
- set (t, k, v)
- 
    Set a table element, honoring metamethods.
    Parameters:- t table a table
- k a key to lookup in t
- v a value to set for k
 Returns:- 
           table
        t
    
 Usage:-- destructive table merge: --> {"one", bar="baz", two=5} functional.reduce (set, {"foo", bar="baz"}, {"one", two=5}) 
- sum (a, b)
- 
    Return the sum of the arguments.
    Parameters:- a an argument
- b another argument
 Returns:- 
        the sum of the a and b
    
 Usage:--> 10110 functional.foldl (sum, {10000, 100, 10})