crie

Version, currently master branch1 version
  • master branchlatestMay 19, 2021

github.com/c910335/crie

Compile-time Trie in Crystal

12 stars
0 dependents
License: MIT

Installation

# Add this to your shard.yml
dependencies:
  crie:
    github: c910335/crie
    branch: master

master is a branch, not a release, so this tracks it rather than pinning a version.

Then run:

shards install

shard.yml

Crystal
1.0.0
License
MIT
Author
Tatsiujin Chin <c910335@gmail.com>

Dependencies

Development Dependencies

  • ameba~> 0.13.4github: crystal-ameba/amebadev

README

# Crie

[![Crystal CI](https://github.com/c910335/crie/actions/workflows/crystal.yml/badge.svg)](https://github.com/c910335/crie/actions/workflows/crystal.yml)
[![GitHub license](https://img.shields.io/github/license/c910335/crie)](https://github.com/c910335/crie/blob/master/LICENSE)

Compile-time Trie in Crystal

## Installation

1. Add the dependency to your `shard.yml`:

   ```yaml
   dependencies:
     crie:
       github: c910335/crie
   ```

2. Run `shards install`

## Usage

```crystal
require "crie"

# Build Trie at compile time
Crie << "En aru'din Raszagal"
Crie << ["Khassar de templari", "Zhakul inok"]
Crie.add_suffixes_of("Terrie Khala")

# Search at compile time
Crie.search("En Taro Adun") # => 3
Crie.search("Khala dora") # => 5
Crie.search("Nas beru uhn'adarr") # => 0

# Search at run time
crie = Crie.new
crie.search("Zhara ku'nuul") # => 3
crie.search("Khas ara'shar") # => 4
crie.search("Shozak mok nul") # => 0
```

## Contributing

1. Fork it (<https://github.com/c910335/crie/fork>)
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request

## Contributors

- [Tatsiujin Chin](https://github.com/c910335) - creator and maintainer