PINE LIBRARY

ToStringAr

OVERVIEW

Contains to string conversion methods arrays of int/float/bool/string/line/label/box types

- toS() - method works like array.join() with more flexibility and

- toStringAr() - converts array to string on a per item basis and returns the resulting string[] array

Conversion of each item to string is made using toS() function from moebius1977/ToS/1 library.

GENERAL DESCRIPTION OF LIBRARY FUNCTIONS

All toS(array) methods have same parameters. The only difference will be in format parameter as explained below.

method toS(this, index_from, index_to, separator, showIDs, format, truncate_left, size_limit, nz)
  Like array.join() but with string length limit. Joins elements into readable string (length capped at 4000, truncating the end or beg)
  Parameters:
    this (array<bool>): array to be converted to string
    index_from (int): index_from (int) (Optional) Start from this id (starting from 0, in insertion order). If omitted - start from the first item.
    index_to (int): index_to (int) (Optional) End with this pair (inclusive, in insertion order). If omitted - to last item.
    separator (string): separator (string) (Optional) String to be inserted between pairs. Default: `", "`
    showIDs (bool): showIDs (bool) (Optional) If true item's id is added in the form `id: value`.
    format (string): format (string) (Optional) Format string fo toS(). If omitted default format is used depending in the type.
    truncate_left (bool): truncate_left (bool) (Optional) Truncate from left or right. Default: false.
    size_limit (int): size_limit (int) (Optional) Max output string length. Default: 4000.
    nz (string): nz (string) (Optional) A string used to represent na (na values are substituted with this string).

format parameter depends on the type:

  For toS(bool/int/float[]...) format parameter works in the same way as `str.format()` (i.e. you can use same format strings as with `str.format()` with `{0}` as a placeholder for the value) with some shorthand "format" options available:

--- number ---
- "" => "{0}"
- "number" => "{0}"
- "0" => "{0, number, 0 }"
- "0.0" => "{0, number, 0.0 }"
- "0.00" => "{0, number, 0.00 }"
- "0.000" => "{0, number, 0.000 }"
- "0.0000" => "{0, number, 0.0000 }"
- "0.00000" => "{0, number, 0.00000 }"
- "0.000000" => "{0, number, 0.000000 }"
- "0.0000000" => "{0, number, 0.0000000}"
--- date ---
- "... <date> ... " in any place is substituted with "{0, date, dd.MM.YY}" (e.g. "<date> <time>" results in "{0, date, dd.MM.YY\} {0, time, HH.mm.ss}")
- "date" => "{0, date, dd.MM.YY}"
- "date : time" => "{0, date, dd.MM.YY} : {0, time, HH.mm.ss}"
- "dd.MM" => "{0, date, dd:MM}"
- "dd" => "{0, date, dd}"

--- time ---
- "... <time> ... " in any place is substituted with "{0, time, HH.mm.ss}" (e.g. "<date> <time>" results in "{0, date, dd.MM.YY\} {0, time, HH.mm.ss}")
- "time" => "{0, time, HH:mm:ss}"
- "HH:mm" => "{0, time, HH:mm}"
- "mm:ss" => "{0, time, mm:ss}"
- "date time" => "{0, date, dd.MM.YY\} {0, time, HH.mm.ss}"
- "date, time" => "{0, date, dd.MM.YY\}, {0, time, HH.mm.ss}"
- "date,time" => "{0, date, dd.MM.YY\},{0, time, HH.mm.ss}"
- "date\ntime" => "{0, date, dd.MM.YY\}\n{0, time, HH.mm.ss}"


For toS(line[]...):
    format (string): (string) (Optional) Use `x1` as placeholder for `x1` and so on. E.g. default format is `"(x1, y1) - (x2, y2)"`.

For toS(label[]...):
    format (string): (string) (Optional) Use `x1` as placeholder for `x`, `y1 - for `y` and `txt` for label's text. E.g. default format is `(x1, y1): "txt"` if ptint_text is true and `(x1, y1)` if false.

For toS(box[]... ):
    format (string): (string) (Optional) Use `x1` as placeholder for `x`, `y1 - for `y` etc. E.g. default format is "(x1, y1) - (x2, y2)".

For toS(color][]... ):
    format (string): (string) (Optional) Options are "HEX" (e.g. "#FFFFFF33") or "RGB" (e.g. "rgb(122,122,122,23)"). Default is "HEX".



All toStringAr() methods just convert each item to string using toS with same format options as described above.

  Parameters:
    arr (array<bool>): Array to be converted to a string array.
    format (string): Format string.
    nz (string): Placeholder for na items.


FULL OF FUNCTIONS AND PARAMETERS

Library "ToStringAr"
Contains toString/toS conversion methods for int/float/bool/string/line/label/box and arrays and matrices thereof. Also contains a string wraping function.

method toS(this, index_from, index_to, separator, showIDs, format, truncate_left, size_limit, nz)
  Namespace types: array<bool>
  Parameters:
    this (array<bool>)
    index_from (int)
    index_to (int)
    separator (string)
    showIDs (bool)
    format (string)
    truncate_left (bool)
    size_limit (int)
    nz (string)

method toS(this, index_from, index_to, separator, showIDs, format, truncate_left, size_limit, nz)
  Namespace types: array<int>
  Parameters:
    this (array<int>)
    index_from (int)
    index_to (int)
    separator (string)
    showIDs (bool)
    format (string)
    truncate_left (bool)
    size_limit (int)
    nz (string)

method toS(this, index_from, index_to, separator, showIDs, format, truncate_left, size_limit, nz)
  Namespace types: array<float>
  Parameters:
    this (array<float>)
    index_from (int)
    index_to (int)
    separator (string)
    showIDs (bool)
    format (string)
    truncate_left (bool)
    size_limit (int)
    nz (string)

method toS(this, index_from, index_to, separator, showIDs, format, truncate_left, size_limit, nz)
  Namespace types: array<string>
  Parameters:
    this (array<string>)
    index_from (int)
    index_to (int)
    separator (string)
    showIDs (bool)
    format (string)
    truncate_left (bool)
    size_limit (int)
    nz (string)

method toS(this, index_from, index_to, separator, showIDs, format, truncate_left, size_limit, nz)
  Namespace types: array<line>
  Parameters:
    this (array<line>)
    index_from (int)
    index_to (int)
    separator (string)
    showIDs (bool)
    format (string)
    truncate_left (bool)
    size_limit (int)
    nz (string)

method toS(this, index_from, index_to, separator, showIDs, format, truncate_left, size_limit, nz)
  Namespace types: array<label>
  Parameters:
    this (array<label>)
    index_from (int)
    index_to (int)
    separator (string)
    showIDs (bool)
    format (string)
    truncate_left (bool)
    size_limit (int)
    nz (string)

method toS(this, index_from, index_to, separator, showIDs, format, truncate_left, size_limit, nz)
  Namespace types: array<box>
  Parameters:
    this (array<box>)
    index_from (int)
    index_to (int)
    separator (string)
    showIDs (bool)
    format (string)
    truncate_left (bool)
    size_limit (int)
    nz (string)

method toS(this, index_from, index_to, separator, showIDs, format, truncate_left, size_limit, nz)
  Namespace types: array<color>
  Parameters:
    this (array<color>)
    index_from (int)
    index_to (int)
    separator (string)
    showIDs (bool)
    format (string)
    truncate_left (bool)
    size_limit (int)
    nz (string)

method toStringAr(arr, format, nz)
  Namespace types: array<bool>
  Parameters:
    arr (array<bool>)
    format (string)
    nz (string)

method toStringAr(arr, format, nz)
  Namespace types: array<int>
  Parameters:
    arr (array<int>)
    format (string)
    nz (string)

method toStringAr(arr, format, nz)
  Namespace types: array<float>
  Parameters:
    arr (array<float>)
    format (string)
    nz (string)

method toStringAr(arr, format, nz)
  Namespace types: array<string>
  Parameters:
    arr (array<string>)
    format (string)
    nz (string)

method toStringAr(arr, format, nz)
  Namespace types: array<color>
  Parameters:
    arr (array<color>)
    format (string)
    nz (string)

method toStringAr(arr, format, nz)
  Namespace types: array<line>
  Parameters:
    arr (array<line>)
    format (string)
    nz (string)

method toStringAr(arr, format, nz)
  Namespace types: array<label>
  Parameters:
    arr (array<label>)
    format (string)
    nz (string)

method toStringAr(arr, format, nz)
  Namespace types: array<box>
  Parameters:
    arr (array<box>)
    format (string)
    nz (string)
arrayarraysstringstringstostring

Pine library

In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in a publication is governed by House rules.

Disclaimer