diff --git a/docs6/docs/extra.css b/docs6/docs/extra.css index e6e4f9c64..ce240ac37 100644 --- a/docs6/docs/extra.css +++ b/docs6/docs/extra.css @@ -47,6 +47,10 @@ pre.pre-highlight-in-pair { font-weight: bold; padding: 10px; margin-bottom: 0px; + + border-top-left-radius: 6px; + border-top-right-radius: 6px; + } pre.pre-non-highlight-in-pair { color: #000000; @@ -54,6 +58,9 @@ pre.pre-non-highlight-in-pair { font-size: 12px; padding: 10px; margin-top: 0px; + + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; } /* For command-only or output-only situations (less common) -- normal margins. @@ -67,7 +74,12 @@ pre.pre-highlight-non-pair { font-weight: bold; padding: 10px; margin-top: 2px; - margin-bottom: 15px; + margin-bottom: 16px; + + border-top-left-radius: 6px; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; } /* Example: @@ -82,20 +94,35 @@ pre.pre-non-highlight-non-pair { padding: 10px; margin-top: 2px; margin-bottom: 15px; + + border-top-left-radius: 6px; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} + +code { + border-radius: 3px; } /* Section titles in content pages */ h1 { color: maroon; background-color: #e0e0e0; + border-radius: 6px; + padding: 6px; } h2 { color: maroon; background-color: #e0e0e0; + border-radius: 6px; + padding: 6px; } h3 { color: maroon; background-color: #e0e0e0; + border-radius: 6px; + padding: 6px; } /* Hyperlinks in content pages */ @@ -133,3 +160,7 @@ a:hover { .wy-menu-vertical a:hover span.toctree-expand { color:#808080 } + +img { + border-radius: 6px; +} diff --git a/docs6/docs/mk-func-h2s.sh b/docs6/docs/mk-func-h2s.sh index 394cc966e..17cc714b6 100755 --- a/docs6/docs/mk-func-h2s.sh +++ b/docs6/docs/mk-func-h2s.sh @@ -58,7 +58,7 @@ mlr help list-functions | grep -v '^[a-zA-Z]' | uniq | while read funcname; do echo "## $displayname" fi echo '' - echo '
' + echo '' mlr help function "$funcname" echo '' echo '' @@ -116,7 +116,7 @@ mlr help list-functions | grep '^[a-zA-Z]' | sort -u | while read funcname; do echo "## $displayname" fi echo '' - echo '' + echo '' mlr help function "$funcname" echo '' echo '' diff --git a/docs6/docs/reference-dsl-builtin-functions.md b/docs6/docs/reference-dsl-builtin-functions.md index 0d32048c6..e02e8a9f0 100644 --- a/docs6/docs/reference-dsl-builtin-functions.md +++ b/docs6/docs/reference-dsl-builtin-functions.md @@ -16,42 +16,42 @@ You can get a list of all functions using **mlr -f**, with details using **mlr - ## \! -+! (class=boolean #args=1) Logical negation.## != -+!= (class=boolean #args=2) String/numeric inequality. Mixing number and string results in string compare.## !=~ -+!=~ (class=boolean #args=2) String (left-hand side) does not match regex (right-hand side), e.g. '$name !=~ "^a.*b$"'.## % -+% (class=arithmetic #args=2) Remainder; never negative-valued (pythonic).## & -+& (class=arithmetic #args=2) Bitwise AND.## && -+&& (class=boolean #args=2) Logical AND.@@ -59,7 +59,7 @@ You can get a list of all functions using **mlr -f**, with details using **mlr - ## \* -+* (class=arithmetic #args=2) Multiplication, with integer*integer overflow to float.@@ -67,7 +67,7 @@ You can get a list of all functions using **mlr -f**, with details using **mlr - ## \** -+** (class=arithmetic #args=2) Exponentiation. Same as pow, but as an infix operator.@@ -75,7 +75,7 @@ You can get a list of all functions using **mlr -f**, with details using **mlr - ## \+ -++ (class=arithmetic #args=1,2) Addition as binary operator; unary plus operator.@@ -83,105 +83,105 @@ You can get a list of all functions using **mlr -f**, with details using **mlr - ## \- -+- (class=arithmetic #args=1,2) Subtraction as binary operator; unary negation operator.## . -+. (class=string #args=2) String concatenation.## .* -+.* (class=arithmetic #args=2) Multiplication, with integer-to-integer overflow.## .+ -+.+ (class=arithmetic #args=2) Addition, with integer-to-integer overflow.## .- -+.- (class=arithmetic #args=2) Subtraction, with integer-to-integer overflow.## ./ -+./ (class=arithmetic #args=2) Integer division; not pythonic.## / -+/ (class=arithmetic #args=2) Division. Integer / integer is floating-point.## // -+// (class=arithmetic #args=2) Pythonic integer division, rounding toward negative.## < -+< (class=boolean #args=2) String/numeric less-than. Mixing number and string results in string compare.## << -+<< (class=arithmetic #args=2) Bitwise left-shift.## <= -+<= (class=boolean #args=2) String/numeric less-than-or-equals. Mixing number and string results in string compare.## == -+== (class=boolean #args=2) String/numeric equality. Mixing number and string results in string compare.## =~ -+=~ (class=boolean #args=2) String (left-hand side) matches regex (right-hand side), e.g. '$name =~ "^a.*b$"'.## > -+> (class=boolean #args=2) String/numeric greater-than. Mixing number and string results in string compare.## >= -+>= (class=boolean #args=2) String/numeric greater-than-or-equals. Mixing number and string results in string compare.@@ -189,7 +189,7 @@ You can get a list of all functions using **mlr -f**, with details using **mlr - ## \>\> -+>> (class=arithmetic #args=2) Bitwise signed right-shift.@@ -197,7 +197,7 @@ You can get a list of all functions using **mlr -f**, with details using **mlr - ## \>\>\> -+>>> (class=arithmetic #args=2) Bitwise unsigned right-shift.@@ -205,35 +205,35 @@ You can get a list of all functions using **mlr -f**, with details using **mlr - ## \? -+?: (class=boolean #args=3) Standard ternary operator.## ?? -+?? (class=boolean #args=2) Absent-coalesce operator. $a ?? 1 evaluates to 1 if $a isn't defined in the current record.## ??? -+??? (class=boolean #args=2) Absent-coalesce operator. $a ?? 1 evaluates to 1 if $a isn't defined in the current record, or has empty value.## ^ -+^ (class=arithmetic #args=2) Bitwise XOR.## ^^ -+^^ (class=boolean #args=2) Logical XOR.@@ -241,21 +241,21 @@ You can get a list of all functions using **mlr -f**, with details using **mlr - ## \| -+| (class=arithmetic #args=2) Bitwise OR.## || -+|| (class=boolean #args=2) Logical OR.## ~ -+~ (class=arithmetic #args=1) Bitwise NOT. Beware '$y=~$x' since =~ is the regex-match operator: try '$y = ~$x'.@@ -263,35 +263,35 @@ regex-match operator: try '$y = ~$x'. ## abs -+abs (class=math #args=1) Absolute value.## acos -+acos (class=math #args=1) Inverse trigonometric cosine.## acosh -+acosh (class=math #args=1) Inverse hyperbolic cosine.## append -+append (class=maps/arrays #args=2) Appends second argument to end of first argument, which must be an array.## arrayify -+arrayify (class=maps/arrays #args=1) Walks through a nested map/array, converting any map with consecutive keys "1", "2", ... into an array. Useful to wrap the output of unflatten.@@ -299,21 +299,21 @@ arrayify (class=maps/arrays #args=1) Walks through a nested map/array, converti ## asin -+asin (class=math #args=1) Inverse trigonometric sine.## asinh -+asinh (class=math #args=1) Inverse hyperbolic sine.## asserting_absent -+asserting_absent (class=typing #args=1) Aborts with an error if is_absent on the argument returns false, else returns its argument.@@ -321,7 +321,7 @@ else returns its argument. ## asserting_array -+asserting_array (class=typing #args=1) Aborts with an error if is_array on the argument returns false, else returns its argument.@@ -329,7 +329,7 @@ else returns its argument. ## asserting_bool -+asserting_bool (class=typing #args=1) Aborts with an error if is_bool on the argument returns false, else returns its argument.@@ -337,7 +337,7 @@ else returns its argument. ## asserting_boolean -+asserting_boolean (class=typing #args=1) Aborts with an error if is_boolean on the argument returns false, else returns its argument.@@ -345,7 +345,7 @@ else returns its argument. ## asserting_empty -+asserting_empty (class=typing #args=1) Aborts with an error if is_empty on the argument returns false, else returns its argument.@@ -353,7 +353,7 @@ else returns its argument. ## asserting_empty_map -+asserting_empty_map (class=typing #args=1) Aborts with an error if is_empty_map on the argument returns false, else returns its argument.@@ -361,7 +361,7 @@ else returns its argument. ## asserting_error -+asserting_error (class=typing #args=1) Aborts with an error if is_error on the argument returns false, else returns its argument.@@ -369,7 +369,7 @@ else returns its argument. ## asserting_float -+asserting_float (class=typing #args=1) Aborts with an error if is_float on the argument returns false, else returns its argument.@@ -377,7 +377,7 @@ else returns its argument. ## asserting_int -+asserting_int (class=typing #args=1) Aborts with an error if is_int on the argument returns false, else returns its argument.@@ -385,7 +385,7 @@ else returns its argument. ## asserting_map -+asserting_map (class=typing #args=1) Aborts with an error if is_map on the argument returns false, else returns its argument.@@ -393,7 +393,7 @@ else returns its argument. ## asserting_nonempty_map -+asserting_nonempty_map (class=typing #args=1) Aborts with an error if is_nonempty_map on the argument returns false, else returns its argument.@@ -401,7 +401,7 @@ else returns its argument. ## asserting_not_array -+asserting_not_array (class=typing #args=1) Aborts with an error if is_not_array on the argument returns false, else returns its argument.@@ -409,7 +409,7 @@ else returns its argument. ## asserting_not_empty -+asserting_not_empty (class=typing #args=1) Aborts with an error if is_not_empty on the argument returns false, else returns its argument.@@ -417,7 +417,7 @@ else returns its argument. ## asserting_not_map -+asserting_not_map (class=typing #args=1) Aborts with an error if is_not_map on the argument returns false, else returns its argument.@@ -425,7 +425,7 @@ else returns its argument. ## asserting_not_null -+asserting_not_null (class=typing #args=1) Aborts with an error if is_not_null on the argument returns false, else returns its argument.@@ -433,7 +433,7 @@ else returns its argument. ## asserting_null -+asserting_null (class=typing #args=1) Aborts with an error if is_null on the argument returns false, else returns its argument.@@ -441,7 +441,7 @@ else returns its argument. ## asserting_numeric -+asserting_numeric (class=typing #args=1) Aborts with an error if is_numeric on the argument returns false, else returns its argument.@@ -449,7 +449,7 @@ else returns its argument. ## asserting_present -+asserting_present (class=typing #args=1) Aborts with an error if is_present on the argument returns false, else returns its argument.@@ -457,7 +457,7 @@ else returns its argument. ## asserting_string -+asserting_string (class=typing #args=1) Aborts with an error if is_string on the argument returns false, else returns its argument.@@ -465,140 +465,140 @@ else returns its argument. ## atan -+atan (class=math #args=1) One-argument arctangent.## atan2 -+atan2 (class=math #args=2) Two-argument arctangent.## atanh -+atanh (class=math #args=1) Inverse hyperbolic tangent.## bitcount -+bitcount (class=arithmetic #args=1) Count of 1-bits.## boolean -+boolean (class=conversion #args=1) Convert int/float/bool/string to boolean.## capitalize -+capitalize (class=string #args=1) Convert string's first character to uppercase.## cbrt -+cbrt (class=math #args=1) Cube root.## ceil -+ceil (class=math #args=1) Ceiling: nearest integer at or above.## clean_whitespace -+clean_whitespace (class=string #args=1) Same as collapse_whitespace and strip.## collapse_whitespace -+collapse_whitespace (class=string #args=1) Strip repeated whitespace from string.## cos -+cos (class=math #args=1) Trigonometric cosine.## cosh -+cosh (class=math #args=1) Hyperbolic cosine.## depth -+depth (class=maps/arrays #args=1) Prints maximum depth of map/array. Scalars have depth 0.## dhms2fsec -+dhms2fsec (class=time #args=1) Recovers floating-point seconds as in dhms2fsec("5d18h53m20.250000s") = 500000.250000## dhms2sec -+dhms2sec (class=time #args=1) Recovers integer seconds as in dhms2sec("5d18h53m20s") = 500000## erf -+erf (class=math #args=1) Error function.## erfc -+erfc (class=math #args=1) Complementary error function.## exp -+exp (class=math #args=1) Exponential function e**x.## expm1 -+expm1 (class=math #args=1) e**x - 1.## flatten -+flatten (class=maps/arrays #args=3) Flattens multi-level maps to single-level ones. Examples: flatten("a", ".", {"b": { "c": 4 }}) is {"a.b.c" : 4}. flatten("", ".", {"a": { "b": 3 }}) is {"a.b" : 3}. @@ -609,21 +609,21 @@ Useful for nested JSON-like structures for non-JSON file formats like CSV. ## float -+float (class=conversion #args=1) Convert int/float/bool/string to float.## floor -+floor (class=math #args=1) Floor: nearest integer at or below.## fmtnum -+fmtnum (class=conversion #args=2) Convert int/float/bool to string using printf-style format string, e.g. '$s = fmtnum($n, "%06lld")'.@@ -631,49 +631,49 @@ printf-style format string, e.g. '$s = fmtnum($n, "%06lld")'. ## fsec2dhms -+fsec2dhms (class=time #args=1) Formats floating-point seconds as in fsec2dhms(500000.25) = "5d18h53m20.250000s"## fsec2hms -+fsec2hms (class=time #args=1) Formats floating-point seconds as in fsec2hms(5000.25) = "01:23:20.250000"## get_keys -+get_keys (class=maps/arrays #args=1) Returns array of keys of map or array## get_values -+get_values (class=maps/arrays #args=1) Returns array of keys of map or array -- in the latter case, returns a copy of the array## gmt2sec -+gmt2sec (class=time #args=1) Parses GMT timestamp as integer seconds since the epoch.## gsub -+gsub (class=string #args=3) Example: '$name=gsub($name, "old", "new")' (replace all).## haskey -+haskey (class=maps/arrays #args=2) True/false if map has/hasn't key, e.g. 'haskey($*, "a")' or 'haskey(mymap, mykey)', or true/false if array index is in bounds / out of bounds. Error if 1st argument is not a map or array. Note -n..-1 alias to 1..n in Miller arrays. @@ -682,42 +682,42 @@ Error if 1st argument is not a map or array. Note -n..-1 alias to 1..n in Miller ## hexfmt -+hexfmt (class=conversion #args=1) Convert int to hex string, e.g. 255 to "0xff".## hms2fsec -+hms2fsec (class=time #args=1) Recovers floating-point seconds as in hms2fsec("01:23:20.250000") = 5000.250000## hms2sec -+hms2sec (class=time #args=1) Recovers integer seconds as in hms2sec("01:23:20") = 5000## hostname -+hostname (class=system #args=0) Returns the hostname as a string.## int -+int (class=conversion #args=1) Convert int/float/bool/string to int.## invqnorm -+invqnorm (class=math #args=1) Inverse of normal cumulative distribution function. Note that invqorm(urand()) is normally distributed.@@ -725,140 +725,140 @@ Note that invqorm(urand()) is normally distributed. ## is_absent -+is_absent (class=typing #args=1) False if field is present in input, true otherwise## is_array -+is_array (class=typing #args=1) True if argument is an array.## is_bool -+is_bool (class=typing #args=1) True if field is present with boolean value. Synonymous with is_boolean.## is_boolean -+is_boolean (class=typing #args=1) True if field is present with boolean value. Synonymous with is_bool.## is_empty -+is_empty (class=typing #args=1) True if field is present in input with empty string value, false otherwise.## is_empty_map -+is_empty_map (class=typing #args=1) True if argument is a map which is empty.## is_error -+is_error (class=typing #args=1) True if if argument is an error, such as taking string length of an integer.## is_float -+is_float (class=typing #args=1) True if field is present with value inferred to be float## is_int -+is_int (class=typing #args=1) True if field is present with value inferred to be int## is_map -+is_map (class=typing #args=1) True if argument is a map.## is_nonempty_map -+is_nonempty_map (class=typing #args=1) True if argument is a map which is non-empty.## is_not_array -+is_not_array (class=typing #args=1) True if argument is not an array.## is_not_empty -+is_not_empty (class=typing #args=1) False if field is present in input with empty value, true otherwise## is_not_map -+is_not_map (class=typing #args=1) True if argument is not a map.## is_not_null -+is_not_null (class=typing #args=1) False if argument is null (empty or absent), true otherwise.## is_null -+is_null (class=typing #args=1) True if argument is null (empty or absent), false otherwise.## is_numeric -+is_numeric (class=typing #args=1) True if field is present with value inferred to be int or float## is_present -+is_present (class=typing #args=1) True if field is present in input, false otherwise.## is_string -+is_string (class=typing #args=1) True if field is present with string (including empty-string) value## joink -+joink (class=conversion #args=2) Makes string from map/array keys. Examples: joink({"a":3,"b":4,"c":5}, ",") = "a,b,c" joink([1,2,3], ",") = "1,2,3". @@ -867,7 +867,7 @@ joink([1,2,3], ",") = "1,2,3". ## joinkv -+joinkv (class=conversion #args=3) Makes string from map/array key-value pairs. Examples: joinkv([3,4,5], "=", ",") = "1=3,2=4,3=5" joinkv({"a":3,"b":4,"c":5}, "=", ",") = "a=3,b=4,c=5" @@ -876,7 +876,7 @@ joinkv({"a":3,"b":4,"c":5}, "=", ",") = "a=3,b=4,c=5" ## joinv -+joinv (class=conversion #args=2) Makes string from map/array values. joinv([3,4,5], ",") = "3,4,5" joinv({"a":3,"b":4,"c":5}, ",") = "3,4,5" @@ -885,14 +885,14 @@ joinv({"a":3,"b":4,"c":5}, ",") = "3,4,5" ## json_parse -+json_parse (class=maps/arrays #args=1) Converts value from JSON-formatted string.## json_stringify -+json_stringify (class=maps/arrays #args=1,2) Converts value to JSON-formatted string. Default output is single-line. With optional second boolean argument set to true, produces multiline output.@@ -900,7 +900,7 @@ With optional second boolean argument set to true, produces multiline output. ## leafcount -+leafcount (class=maps/arrays #args=1) Counts total number of terminal values in map/array. For single-level map/array, same as length.@@ -908,35 +908,35 @@ map/array, same as length. ## length -+length (class=maps/arrays #args=1) Counts number of top-level entries in array/map. Scalars have length 1.## log -+log (class=math #args=1) Natural (base-e) logarithm.## log10 -+log10 (class=math #args=1) Base-10 logarithm.## log1p -+log1p (class=math #args=1) log(1-x).## logifit -+logifit (class=math #args=3) Given m and b from logistic regression, compute fit: $yhat=logifit($x,$m,$b).@@ -944,21 +944,21 @@ $yhat=logifit($x,$m,$b). ## lstrip -+lstrip (class=string #args=1) Strip leading whitespace from string.## madd -+madd (class=arithmetic #args=3) a + b mod m (integers)## mapdiff -+mapdiff (class=maps/arrays #args=variadic) With 0 args, returns empty map. With 1 arg, returns copy of arg. With 2 or more, returns copy of arg 1 with all keys from any of remaining argument maps removed. @@ -967,7 +967,7 @@ argument maps removed. ## mapexcept -+mapexcept (class=maps/arrays #args=variadic) Returns a map with keys from remaining arguments, if any, unset. Remaining arguments can be strings or arrays of string. E.g. 'mapexcept({1:2,3:4,5:6}, 1, 5, 7)' is '{3:4}' @@ -977,7 +977,7 @@ and 'mapexcept({1:2,3:4,5:6}, [1, 5, 7])' is '{3:4}'. ## mapselect -+mapselect (class=maps/arrays #args=variadic) Returns a map with only keys from remaining arguments set. Remaining arguments can be strings or arrays of string. E.g. 'mapselect({1:2,3:4,5:6}, 1, 5, 7)' is '{1:2,5:6}' @@ -987,7 +987,7 @@ and 'mapselect({1:2,3:4,5:6}, [1, 5, 7])' is '{1:2,5:6}'. ## mapsum -+mapsum (class=maps/arrays #args=variadic) With 0 args, returns empty map. With >= 1 arg, returns a map with key-value pairs from all arguments. Rightmost collisions win, e.g. 'mapsum({1:2,3:4},{1:5})' is '{1:5,3:4}'. @@ -996,91 +996,91 @@ key-value pairs from all arguments. Rightmost collisions win, e.g. ## max -+max (class=math #args=variadic) Max of n numbers; null loses.## md5 -+md5 (class=hashing #args=1) MD5 hash.## mexp -+mexp (class=arithmetic #args=3) a ** b mod m (integers)## min -+min (class=math #args=variadic) Min of n numbers; null loses.## mmul -+mmul (class=arithmetic #args=3) a * b mod m (integers)## msub -+msub (class=arithmetic #args=3) a - b mod m (integers)## os -+os (class=system #args=0) Returns the operating-system name as a string.## pow -+pow (class=arithmetic #args=2) Exponentiation. Same as **, but as a function.## qnorm -+qnorm (class=math #args=1) Normal cumulative distribution function.## regextract -+regextract (class=string #args=2) Example: '$name=regextract($name, "[A-Z]{3}[0-9]{2}")'## regextract_or_else -+regextract_or_else (class=string #args=3) Example: '$name=regextract_or_else($name, "[A-Z]{3}[0-9]{2}", "default")'## round -+round (class=math #args=1) Round to nearest integer.## roundm -+roundm (class=math #args=2) Round to nearest multiple of m: roundm($x,$m) is the same as round($x/$m)*$m.@@ -1088,21 +1088,21 @@ the same as round($x/$m)*$m. ## rstrip -+rstrip (class=string #args=1) Strip trailing whitespace from string.## sec2dhms -+sec2dhms (class=time #args=1) Formats integer seconds as in sec2dhms(500000) = "5d18h53m20s"## sec2gmt -+sec2gmt (class=time #args=1,2) Formats seconds since epoch (integer part) as GMT timestamp, e.g. sec2gmt(1440768801.7) = "2015-08-28T13:33:21Z". Leaves non-numbers as-is. With second integer argument n, includes n decimal places @@ -1112,7 +1112,7 @@ for the seconds part ## sec2gmtdate -+sec2gmtdate (class=time #args=1) Formats seconds since epoch (integer part) as GMT timestamp with year-month-date, e.g. sec2gmtdate(1440768801.7) = "2015-08-28". Leaves non-numbers as-is. @@ -1121,56 +1121,56 @@ Leaves non-numbers as-is. ## sec2hms -+sec2hms (class=time #args=1) Formats integer seconds as in sec2hms(5000) = "01:23:20"## sgn -+sgn (class=math #args=1) +1, 0, -1 for positive, zero, negative input respectively.## sha1 -+sha1 (class=hashing #args=1) SHA1 hash.## sha256 -+sha256 (class=hashing #args=1) SHA256 hash.## sha512 -+sha512 (class=hashing #args=1) SHA512 hash.## sin -+sin (class=math #args=1) Trigonometric sine.## sinh -+sinh (class=math #args=1) Hyperbolic sine.## splita -+splita (class=conversion #args=2) Splits string into array with type inference. Example: splita("3,4,5", ",") = [3,4,5]@@ -1178,7 +1178,7 @@ splita("3,4,5", ",") = [3,4,5] ## splitax -+splitax (class=conversion #args=2) Splits string into array without type inference. Example: splita("3,4,5", ",") = ["3","4","5"]@@ -1186,7 +1186,7 @@ splita("3,4,5", ",") = ["3","4","5"] ## splitkv -+splitkv (class=conversion #args=3) Splits string by separators into map with type inference. Example: splitkv("a=3,b=4,c=5", "=", ",") = {"a":3,"b":4,"c":5}@@ -1194,7 +1194,7 @@ splitkv("a=3,b=4,c=5", "=", ",") = {"a":3,"b":4,"c":5} ## splitkvx -+splitkvx (class=conversion #args=3) Splits string by separators into map without type inference (keys and values are strings). Example: splitkvx("a=3,b=4,c=5", "=", ",") = {"a":"3","b":"4","c":"5"} @@ -1203,7 +1203,7 @@ splitkvx("a=3,b=4,c=5", "=", ",") = {"a":"3","b":"4","c":"5"} ## splitnv -+splitnv (class=conversion #args=2) Splits string by separator into integer-indexed map with type inference. Example: splitnv("a,b,c", ",") = {"1":"a","2":"b","3":"c"}@@ -1211,7 +1211,7 @@ splitnv("a,b,c", ",") = {"1":"a","2":"b","3":"c"} ## splitnvx -+splitnvx (class=conversion #args=2) Splits string by separator into integer-indexed map without type inference (values are strings). Example: splitnvx("3,4,5", ",") = {"1":"3","2":"4","3":"5"} @@ -1220,21 +1220,21 @@ splitnvx("3,4,5", ",") = {"1":"3","2":"4","3":"5"} ## sqrt -+sqrt (class=math #args=1) Square root.## ssub -+ssub (class=string #args=3) Like sub but does no regexing. No characters are special.## strftime -+strftime (class=time #args=2) Formats seconds since the epoch as timestamp, e.g. strftime(1440768801.7,"%Y-%m-%dT%H:%M:%SZ") = "2015-08-28T13:33:21Z", and strftime(1440768801.7,"%Y-%m-%dT%H:%M:%3SZ") = "2015-08-28T13:33:21.700Z". @@ -1247,28 +1247,28 @@ strftime (class=time #args=2) Formats seconds since the epoch as timestamp, e. ## string -+string (class=conversion #args=1) Convert int/float/bool/string/array/map to string.## strip -+strip (class=string #args=1) Strip leading and trailing whitespace from string.## strlen -+strlen (class=string #args=1) String length.## strptime -+strptime (class=time #args=2) strptime: Parses timestamp as floating-point seconds since the epoch, e.g. strptime("2015-08-28T13:33:21Z","%Y-%m-%dT%H:%M:%SZ") = 1440768801.000000, and strptime("2015-08-28T13:33:21.345Z","%Y-%m-%dT%H:%M:%SZ") = 1440768801.345000. @@ -1278,14 +1278,14 @@ strptime (class=time #args=2) strptime: Parses timestamp as floating-point seco ## sub -+sub (class=string #args=3) Example: '$name=sub($name, "old", "new")' (replace once).## substr -+substr (class=string #args=3) substr is an alias for substr0. See also substr1. Miller is generally 1-up with all array indices, but, this is a backward-compatibility issue with Miller 5 and below. Arrays are new in Miller 6; the substr function is older. @@ -1294,7 +1294,7 @@ Arrays are new in Miller 6; the substr function is older. ## substr0 -+substr0 (class=string #args=3) substr0(s,m,n) gives substring of s from 0-up position m to n inclusive. Negative indices -len .. -1 alias to 0 .. len-1.@@ -1302,7 +1302,7 @@ inclusive. Negative indices -len .. -1 alias to 0 .. len-1. ## substr1 -+substr1 (class=string #args=3) substr1(s,m,n) gives substring of s from 1-up position m to n inclusive. Negative indices -len .. -1 alias to 1 .. len.@@ -1310,70 +1310,70 @@ inclusive. Negative indices -len .. -1 alias to 1 .. len. ## system -+system (class=system #args=1) Run command string, yielding its stdout minus final carriage return.## systime -+systime (class=time #args=0) help string will go here## systimeint -+systimeint (class=time #args=0) help string will go here## tan -+tan (class=math #args=1) Trigonometric tangent.## tanh -+tanh (class=math #args=1) Hyperbolic tangent.## tolower -+tolower (class=string #args=1) Convert string to lowercase.## toupper -+toupper (class=string #args=1) Convert string to uppercase.## truncate -+truncate (class=string #args=2) Truncates string first argument to max length of int second argument.## typeof -+typeof (class=typing #args=1) Convert argument to type of argument (e.g. "str"). For debug.## unflatten -+unflatten (class=maps/arrays #args=2) Reverses flatten. Example: unflatten({"a.b.c" : 4}, ".") is {"a": "b": { "c": 4 }}. Useful for nested JSON-like structures for non-JSON file formats like CSV. @@ -1383,14 +1383,14 @@ See also arrayify. ## uptime -+uptime (class=time #args=0) help string will go here## urand -+urand (class=math #args=0) Floating-point numbers uniformly distributed on the unit interval. Int-valued example: '$n=floor(20+urand()*11)'.@@ -1398,28 +1398,28 @@ Int-valued example: '$n=floor(20+urand()*11)'. ## urand32 -+urand32 (class=math #args=0) Integer uniformly distributed 0 and 2**32-1 inclusive.## urandint -+urandint (class=math #args=2) Integer uniformly distributed between inclusive integer endpoints.## urandrange -+urandrange (class=math #args=2) Floating-point numbers uniformly distributed on the interval [a, b).## version -+version (class=system #args=0) Returns the Miller version as a string.