Library "cache" A simple cache library to store key value pairs.
Fed up of injecting and returning so many values all the time?
Want to separate your code and keep it clean?
Need to make an expensive calculation and use the results in numerous places?
Want to throttle calculations or persist random values across bars or ticks?
Then you've come to the right place. Or not! Up to you, I don't mind either way... ;)
Check the helpers and unit tests in the script for further detail.
Detailed Interface
init(persistant) Initialises the syncronised cache key and value arrays Parameters: persistant: bool, toggles data persistance between bars and ticks Returns: [string[], float[]], a tuple of both arrays
set(keys, values, key, value) Sets a value into the cache Parameters: keys: string[], the array of cache keys values: float[], the array of cache values key: string, the cache key to create or update value: float, the value to set
has(keys, values, key) Checks if the cache has a key Parameters: keys: string[], the array of cache keys values: float[], the array of cache values key: string, the cache key to check Returns: bool, true only if the key is found
get(keys, values, key) Gets a keys value from the cache Parameters: keys: string[], the array of cache keys values: float[], the array of cache values key: string, the cache key to get Returns: float, the stored value
remove(keys, values, key) Removes a key and value from the cache Parameters: keys: string[], the array of cache keys values: float[], the array of cache values key: string, the cache key to remove
count() Counts how many key value pairs in the cache Returns: int, the total number of pairs
loop(keys, values) Returns true for each value in the cache (use as the while loop expression) Parameters: keys: string[], the array of cache keys values: float[], the array of cache values
next(keys, values) Returns each key value pair on successive calls (use in the while loop) Parameters: keys: string[], the array of cache keys values: float[], the array of cache values Returns: [string, float], tuple of each key value pair
clear(keys, values) Clears all key value pairs from the cache Parameters: keys: string[], the array of cache keys values: float[], the array of cache values
unittest_cache(case) Cache module unit tests, for inclusion in parent script test suite. Usage: log.unittest_cache(__ASSERTS) Parameters: case: string[], the current test case and array of previous unit tests (__ASSERTS)
unittest(verbose) Run the cache module unit tests as a stand alone. Usage: cache.unittest() Parameters: verbose: bool, optionally disable the full report to only display failures