kaigouthro

columns

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

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

Rows and Columns 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 Column off of matrix
  Parameters:
    _matrix: Matrix To Edit
  Returns: Array of Last Column, removing it from matrix

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

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

push(_matrix, _clmnNum, _item)
  add single item onto end of Column
  Parameters:
    _matrix: Matrix To Edit
    _clmnNum: Column being Targeted
    _item: Item to Push on Column
  Returns: shifted item from Column 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, _clmnNum, _item)
  slide single item into start of Column remove last
  Parameters:
    _matrix: Matrix To Edit
    _clmnNum: Column being Targeted
    _item: Item to Unshift on Column
  Returns: popped item from Column end

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

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

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

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

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

pullOut(_matrix, _clmnNum)
  add single item onto end of Column
  Parameters:
    _matrix: Matrix To Edit
    _clmnNum: Column being Targeted
  Returns: removed selected Column
Release Notes:
v2

Small update for zero sized matrixes
Release Notes:
v3

Methods :)
Release Notes:
v4

Added:
method sortby(_matrix, _rowNum)
  Namespace types: matrix
  Parameters:
    _matrix (matrix): Matrix To Sort
    _rowNum (int): Row to utilize for sorting
  Returns: sorted matrix
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

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this library?

Copy the following line and paste it in your script.