相关疑难解决方法(0)

两个模块,都输出相同的名称

我想要使​​用两个包:CorpusLoaders.jlWordNet.jl

  • CorpusLoaders.SemCor出口 sensekey(::SenseTaggedWord)
  • WordNet出口 sensekey(::DB, ::Synset, ::Lemma)

我想要使​​用这两种sensekey方法.

例如

对于一些混合的项目清单:mixedlist::Vector{Union{Tuple{SenseTaggedWord},Tuple{DB, Synset,Lemma}}.即,在列表中的项目是1元组的混合物SenseTaggedWord,的AND3元组DB,SynsetLemma.

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的依赖.

我想知道如何为包的消费者解决问题 - 而不是作为包的创建者.

module packages julia

3
推荐指数
3
解决办法
791
查看次数

标签 统计

julia ×1

module ×1

packages ×1