PINE LIBRARY

typeandcast

Aktualisiert
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.
Versionshinweise
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)`
Versionshinweise
v3 Now .tona() is also working for linefill, array<linefill> and matrix<linefill>.
Versionshinweise
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.)
Versionshinweise
v5 Fixed missing `export` for tona(linefill)
CASTdebuggingtypes

Pine Bibliothek

Ganz im Sinne von TradingView hat dieser Autor seinen/ihren Pine Code als Open-Source-Bibliothek veröffentlicht. Auf diese Weise können nun auch andere Pine-Programmierer aus unserer Community den Code verwenden. Vielen Dank an den Autor! Sie können diese Bibliothek privat oder in anderen Open-Source-Veröffentlichungen verwenden. Die Nutzung dieses Codes in einer Veröffentlichung wird in unseren Hausregeln reguliert.

Haftungsausschluss