Trie implementation made with Rust extensions.
This gem has Rust (~> 1.22) and Cargo as dependencies. After fulfilling those requirements the gem can be installed
gem 'rstrie'
require 'rstrie'
trie = Rstrie.new
Adding keys to the trie
trie.add('rocket')
trie.add('rock', 1)
Querying the values
trie.has_key?('rock')
=> true
trie.get('rocket')
=> -1 or your value
trie.get('non-existing')
=> nil
Autocomplete
irb(main):009:0> trie.children('roc')
=> ["rock", "rocket"]
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
for the build and test run. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
To run the benchmark:
bin/benchmark
Bug reports and pull requests are welcome on GitHub at https://github.com/silppuri/rstrie.
The gem is available as open source under the terms of the MIT License.