首页 > 解决方案 > Julia - 如何导入包的一部分并调用使用这个包?

问题描述

我想在 Julia v1.1 中使用 ProgressMeter(用于进度条)和 DataStructures(用于 orderedDicts):

using ProgressMeter
using DataStrctures

但是,这两个包都导出了一个update!方法。所以我有一个警告告诉我指定它来自哪个包并尝试通过以下方式修复它:

ProgressMeter.update!(...)

我不希望它在每次更新时都指定它!在我的代码中,所以我决定只使用 DataStructures.OrderedDict。

但是,当我使用 import 执行此操作时:

import DataStructures.OrderedDict

在此之后我无法调用using DataStructures以避免DataStructures.{OrderedDict, or something linked to orderedDict}每次我使用 OrderedDictusing导入 DataStructures 上的所有内容并重新输入与更新冲突!来自进度表。

我应该怎么办?

标签: packagejuliausing

解决方案


您可以明确地将update!fromProgressMeter带入范围。

using DataStructures
using ProgressMeter
using ProgressMeter: update!

现在应该没有警告update!了,应该单独参考ProgressMeter. 如果你需要调用update!DataStructures你应该用名字来限定它DataStructures


推荐阅读