【发布时间】:2016-01-07 05:55:59
【问题描述】:
我有一个使用 pimped jme 四元数数学的代码。数学扩展(用于 Java jMonkeyEngine 四元数)如下所示:
object Operators {
implicit class QuaternionMath(val a: Quaternion) extends AnyVal {
def * (b: Quaternion) = a mult b
//def * (b: Float) = a mult b
}
}
使用数学的代码如下所示:
import Operators._
...以及稍后在函数中:
def compute(q1: Quaternion, q2: Quaternion) = {
q1 * q2
}
现在,在添加了一些似乎不相关的代码后,我得到了一个语法错误:
错误:(477, 10) 值 * 不是 com.jme3.math.Quaternion 的成员
要修复错误,我需要在计算之前重复导入,再次作为通配符或特定通配符:
import Operators.QuaternionMath
import Operators._
我不知道是什么隐藏了 QuaternionMath 隐式转换。有什么方法可以检查,一些工具,或者一些编译器开关?
【问题讨论】:
-
什么是“看似无关的代码”?文件/包结构是什么?