1pub struct Kata {
7 pub level: Level,
8 pub tags: Vec<Tag>,
9 pub description: String,
10}
11
12impl Kata {
13 pub fn level(&self) -> &Level{
14 &self.level
15 }
16}
17
18#[derive(Debug)]
19pub enum Level {
20 L8kyu, L7kyu, L6kyu, L5kyu, L4kyu, L3kyu, L2kyu, L1kyu,
21}
22
23#[derive(Debug)]
24pub enum Tag {
25 AsciiArt, Algebra, Algorithms, Arrays, BigIntegers, Binary, BinarySearchTrees,
26 BinaryTrees, Bits, CellularAutomata, Ciphers, Combinatorics, Compilers,
27 Cryptography, DataScience, DataStructures, Databases, DateTime, Debugging,
28 DesignPatterns, DiscreteMathematics, DynamicProgramming, EsotericLanguages,
29 FunctionalProgramming, Fundamentals, GameSolvers, Games, Geometry, GraphTheory,
30 Interpreters, Iterators, LanguageFeatures, LinearAlgebra, Lists, Logic,
31 MachineLearning, Mathematics, Matrix, Memorization, Metaprogramming, Networks,
32 NumberTheory, ObjectOrientedProgramming, Parsing, Performance, Permutations,
33 Probibility, Puzzles, Queues, Recursion, Refactoring, Regex, Restricted,
34 ReverseEngineering, Riddles, Scheduling, Searching, Security, Sets, Sorting,
35 Stacks, Statistics, Strings, Trees, Tutorials,
36}