ada - 子包隐藏另一个子包的包
问题描述
我有三个包Vendor.Apple
:Vendor.Pear
和Pear
。
其中Vendor.Apple
,需要从包中调用子程序Pear
。但是,导入 ( with
)Pear
包,然后尝试在Eat
其中调用过程,会导致编译器认为Eat
过程在内部Vendor.Pear
。这会导致以下错误:
“吃”没有在“梨”中声明
有没有办法with
使用绝对包路径;解决子包Apple
可以访问隐藏我们尝试导入的包的“令牌”这一事实?
解决方案
所有库级包都在 package 中隐式声明Standard
,请参阅ARM 10.1.1。
说Standard.Pear.Eat
(你不需要with Standard;
,事实上我不确定这是否合法!)
推荐阅读
- java - 在Java中初始化后为数组分配长度?
- java - 当子类对象被分配为超类对象时会发生什么
- python - Tensorflow a2.0.0:将 CSV 转换为 tfrecord,创建使用来自大型源的管道数据的 Keras 模型,将权重存储到 CSV 文件?
- http - 什么是客户要求?
- oracle - 无法连接到刚刚在 docker 上的 oracle 上创建的新用户 (ORA-01017)
- ios - 如何在等待来自警报的用户输入时使用 shouldSelectItemAt?
- angular - 面对微软返回无效图像错误
- laravel - 使用 Vue.js 的模态窗口中的动画不起作用
- java - 减少导致重复代码的参数列表
- c - 在 C 结构中初始化矩阵变量