AhoCorasick algorithm for crystal-lang
Add this to your application's shard.yml
:
dependencies:
aho_corasick:
github: chenkovsky/aho_corasick
require "aho_corasick"
matcher = AhoCorasick.new %w(a ab bc)
matched = [] of Tuple(Int32, Int32)
matcher.match("abcde") do |last_pos, pat_idx|
matched << ({last_pos, pat_idx})
end
matched.should eq([{0, 0}, {1, 1}, {2, 2}])
- Fork it ( https://github.com/chenkovsky/aho_corasick/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
- chenkovsky chenkovsky - creator, maintainer