diff --git a/src/db.jl b/src/db.jl index 19b308a..2fe6625 100644 --- a/src/db.jl +++ b/src/db.jl @@ -45,7 +45,7 @@ end function load_synsets(base_dir) synsets = Dict{Char, Dict{Int, Synset}}() - for pos in ['n', 'v', 'a', 'r'] + for pos in ('n', 'v', 'a', 'r') d = Dict{Int, Synset}() open(path_to_data_file(base_dir, pos)) do f @@ -87,3 +87,9 @@ end function path_to_index_file(base_dir, pos) joinpath(base_dir, "dict", "index.$(SYNSET_TYPES[pos])") end + +Base.haskey(db::DB, pos::Char) = haskey(db.lemmas, pos) +Base.haskey(db::DB, pos::Char, word::AbstractString) = haskey(db, pos) ? haskey(db.lemmas[pos], word) : false + +Base.get(db::DB, pos::Char, word::AbstractString, default) = haskey(db, pos, word) ? db.lemmas[pos][word] : default +Base.get(db::DB, word::AbstractString, pos::Char, default) = get(db, pos, word, default)