PINE LIBRARY

typeandcast

מעודכן
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.
הערות שחרור
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)`
הערות שחרור
v3 Now .tona() is also working for linefill, array<linefill> and matrix<linefill>.
הערות שחרור
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.)
הערות שחרור
v5 Fixed missing `export` for tona(linefill)
CASTdebuggingtypes

ספריית Pine

ברוח TradingView אמיתית, המחבר פרסם קוד Pine זה כספריית קוד פתוח כדי שמתכנתי Pine אחרים מהקהילה שלנו יוכלו לעשות בו שימוש חוזר. כל הכבוד למחבר! אתה יכול להשתמש בספרייה זו באופן פרטי או בפרסומים אחרים בקוד פתוח, אך שימוש חוזר בקוד זה בפרסום כפוף לכללי הבית.

כתב ויתור