Macros for memoizing functions.
-
Add the dependency to your
shard.yml:dependencies: memoize: github: tkshnwesper/memoize
-
Run
shards install
require "memoize"
Memoize.memoize add_two, NamedTuple(n: Int32), Int32 do
puts "Computed"
n + 2
end
add_two(4) # Prints "Computed" and returns 6
add_two(4) # returns 6
add_two(4) # returns 6To generate docs, run
crystal docs --source-refname=<tag>- Fork it (https://github.com/tkshnwesper/memoize/fork)
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
- tkshnwesper - creator and maintainer