TradingView
kaigouthro
28. Okt. 2022 20:28

rows 

OP / TetherUS PERPETUAL CONTRACTBinance

Beschreibung

Library "rows"
Error Tolerant Matrix Setter/Getter Operations. Easy ways to add/remove items into start and end of rows as well as arrays to grow and shrink matrix.

if mismatched sizes occur the typified NA value will be there to prevent catastrophic crashing.

columns and rows are split into 2 libraries due to limitations on number of exports as well as ease of style (columns.shift(), rows.pop() )


pop(_matrix)
  do pop last row off of matrix
  Parameters:
    _matrix: Matrix To Edit
  Returns: Array of Last row, removing it from matrix

shift(_matrix)
  do shift the first row off of matrix
  Parameters:
    _matrix: Matrix To Edit
  Returns: Array of First row, removing it from matrix

get(_matrix, _rowNum)
  retrieve specific row of matrix
  Parameters:
    _matrix: Matrix To Edit
    _rowNum: Row being Targeted
  Returns: Array of selected row number, leaving in place

push(_matrix, _rowNum, _item)
  add single item onto end of row
  Parameters:
    _matrix: Matrix To Edit
    _rowNum: Row being Targeted
    _item: Item to Push on Row
  Returns: shifted item from row start

push(_matrix, _array)
  add single item onto end of matrix
  Parameters:
    _matrix: Matrix To Edit
    _array: Array to Push on Matrix
  Returns: Void

unshift(_matrix, _rowNum, _item)
  slide single item into start of row remove last
  Parameters:
    _matrix: Matrix To Edit
    _rowNum: Row being Targeted
    _item: Item to Unshift on Row
  Returns: popped item from row end

unshift(_matrix, _array)
  add single item into first row of matrix
  Parameters:
    _matrix: Matrix To Edit
    _array: Array to unshift into Matrix
  Returns: Void

set(_matrix, _rowNum, _array)
  replace an array to an existing row
  Parameters:
    _matrix: Matrix To Edit
    _rowNum: Row being Targeted
    _array: Array to place in Matrix
  Returns: row that was replaced

insert(_matrix, _rowNum, _array)
  insert an array to a new row
  Parameters:
    _matrix: Matrix To Edit
    _rowNum: Row being Targeted
    _array: Array to place in Matrix
  Returns: void

slideDown(_matrix, _array)
  add single item onto end of row
  Parameters:
    _matrix: Matrix To Edit
    _array: Array to push to Matrix
  Returns: shifted first row

slideUp(_matrix, _array)
  add single item onto end of row
  Parameters:
    _matrix: Matrix To Edit
    _array: Array to unshift to Matrix
  Returns: popped last row

pullOut(_matrix, _rowNum)
  add single item onto end of row
  Parameters:
    _matrix: Matrix To Edit
    _rowNum: Row being Targeted
  Returns: removed selected row

Versionshinweise

v2

Small update for zero sized matrixes

Versionshinweise

v3

Accidental chart image replacement :+)

Versionshinweise

v4

Methods

Versionshinweise

v5

Added:
method sortby(_matrix, _colNum)
  Namespace types: matrix<int>
  Parameters:
    _matrix (matrix<int>): Matrix To Sort
    _colNum (int): col to utilize for sorting
  Returns: sorted matrix

Kommentare
moebius1977
Great stuff! I really love your style! Will use your libraries a lot. Thank you.
In line 35 should be `c`, not `r` in `_add('r',m,msz,sz,a)`
Also in line 42 _arpush adds the row not to the bottom, but before the last row. I changed to `matrix.rows(m)` from `matrix.rows(m)-1`
kaigouthro
@moebius1977, send mee a message with the update =) i'll put your fix in.
allanster
Great work, looks very useful, thanks for sharing with the community!
Mehr