我想要使用两个包:CorpusLoaders.jl和WordNet.jl
sensekey(::SenseTaggedWord)sensekey(::DB, ::Synset, ::Lemma)我想要使用这两种sensekey方法.
例如
对于一些混合的项目清单:mixedlist::Vector{Union{Tuple{SenseTaggedWord},Tuple{DB, Synset,Lemma}}.即,在列表中的项目是1元组的混合物SenseTaggedWord,的AND3元组DB,Synset和Lemma.
for item in mixedlist
println(sensekey(item...)
end
Run Code Online (Sandbox Code Playgroud)
应该管用.这个例子有点滑稽,因为我为什么要像这样混合它们.但是,希望它有助于说明一般情况下的问题.
试图using CorpusLoaders.SemCor, WordNet引入两个结果WARNING: both WordNet and Semcor export "sensekey"; uses of it in module Main must be qualified.
手动导入两个:import CorpusLoaders.SemCor.sensekey; import WordNet.sensekey 结果WARNING: ignoring conflicting import of Semcor.sensekey into Main
可以做些什么?我想要他们两个,由于多次发送,他们并没有真正发生冲突.
鉴于CorpusLoaders.jl是我正在编写的包,我还有一些选项,因为我可以使我的CorpusLoaders.jl依赖于WordNet.jl.如果我确实做了,那么我可以在CorpusLoaders.jl中说
import WordNet
function WordNet.sensekey(s::SenseTaggedWord)...
Run Code Online (Sandbox Code Playgroud)
这将使他们都工作.但这意味着要求WordNet作为CorpusLoaders的依赖.
我想知道如何为包的消费者解决问题 - 而不是作为包的创建者.