TradingView
moebius1977
4 mag 2023 00:26

typeandcast 

Bitcoin / U.S. dollarBitstamp

Descrizione

Library "typeandcast"

Contains the following methods:
_type() - Returns the type of the variable in the forms "int", "array<int>", "matrix<linefill>"
_type_item() - Returns the type of the variable or of the element (for array/matrix). (e.g. `arrayFloat._type_item()` returns 'float').
_type_struct() - Returns the type of the structure only (i.e. "array" or "matrix"), for simple types (like e.g. `int`) returns "simple". (e.g. `arrayFloat._type_struct()` returns 'array').
_tona() - Casts na to the type of the parent object. (e.g. for an `int x` calling `x.tona()` returns `int(na)`

(inspired by the works of @kaigouthro and @faiyaz7283)

The _type() / _type_item() / _type_struct() methods are available for the following types:
int
float
bool
string
color
line
label
box
table
linefill
int[]
float[]
bool[]
string[]
color[]
line[]
label[]
box[]
table[]
linefill[]
matrix <int>
matrix <float>
matrix <bool>
matrix <string>
matrix <color>
matrix <line>
matrix <label>
matrix <box>
matrix <table>
matrix <linefill>


The `tona()' method is available only for the simple types (except `linefill`, coundn't make it work for it)

Please see the descriptions in the script.

Note di rilascio

v2
Added tona() method for array and matrix types, for which it returns na value of the same type as their underlying elements. E.g. `matrixFloat.tona()` returns `float(na)`

Note di rilascio

v3 Now .tona() is also working for linefill, array<linefill> and matrix<linefill>.

Note di rilascio

v4 Added method cast() - casts int to float if sampleVar is float. Does nothing otherwise. (May be used to cast const int literals to float in the overloaded functions based on the tyoe of other arguments, e.g. if overloaded function adds a row filled with `1` to a float or int matrix.)

Note di rilascio

v5 Fixed missing `export` for tona(linefill)
Altro