parserealarray
Prototype: parserealarray(array, input, comment, split, maxentries, maxbytes)
Return type: int
Description: Parses up to maxentries values from the first maxbytes
bytes in string input and populates array. Returns the dimension.
This function mirrors the exact behavior of
readrealarray(), but read data from a variable
instead of a file. By making data readable from a variable, data driven
policies can be kept inline.
The comment field is a multiline regular expression and will strip out
unwanted patterns from the file being read, leaving unstripped characters to be
split into fields. Using the empty string ("") indicates no comments.
Arguments:
array: Array identifier to populate, in the range[a-zA-Z0-9_$(){}\[\].:]+input: A string to parse for input data, in the range"?(/.*)comment: Unanchored regex matching comments, in the range.*split: Unanchored regex to split data, in the range.*maxentries: Maximum number of entries to read, in the range0,99999999999maxbytes: Maximum bytes to read, in the range0,99999999999
Example:
bundle agent __main__
{
vars:
# Define data inline for convenience
"table"
string => "1.0:2.718
3:4.6692
5.0:6.82";
"dim"
int => parserealarray(
"items",
"$(table)",
"\s*#[^\n]*",
":",
"1000",
"200000"
);
"keys" slist => sort(getindices("items"));
reports:
"$(keys) - $(items[$(keys)][1])";
}
Output:
R: 1.0 - 2.718
R: 3 - 4.6692
R: 5.0 - 6.82
History: Was introduced in version 3.1.5a1, Nova 2.1.0 (2011)
See also: parsestringarray(), parseintarray(), readstringarray(), readintarray(), readrealarray()