无法使用以下类型执行选项映射操作:(Boolean, _57) => R
Cannot perform option-mapped operation with type: (Boolean, _57) => R
我有下一个过滤器
type DatabaseID = Long
val filter = moderators.filter(m =>
(m.created < before) &&
(m.userType inSet userTypeList) &&
(if(true) m.mcID === mcIDFilter else true)
)
其中 m.mcID
具有 Rep[Option[models.DatabaseID]]
类型和 mcIDFilter
Option[models.DatabaseID]
。
为什么会出现下一个错误?
Cannot perform option-mapped operation
with type: (Boolean, _57) => R
for base type: (Boolean, Boolean) => Boolean
_57
?这是什么?
为简单起见,我已将条件替换为 true
。如果我删除带有条件的行或将 m.mcID === mcIDFilter
替换为 true
,代码编译正常。
此外,如果我删除 if
语句,它编译没有错误:
val filter = moderators.filter(m =>
(m.created < before) &&
(m.userType inSet userTypeList) &&
m.mcID === mcIDFilter
)
我发现当其中一个操作数的类型不同时会出现这个错误。
我也试过了
val filter = moderators.filter(m =>
(m.created < before) &&
(m.userType inSet userTypeList) &&
(if(true) m.mcID === mcIDFilter else true:Rep[Boolean])
)
但没有成功。
好的,我找到了如何编译它。这很丑,但工作。
val filter = moderators.filter(m =>
(m.created < before) &&
(m.userType inSet userTypeList) &&
(if(true) m.mcID === mcIDFilter else Some(true):Rep[Option[Boolean]])
)
我有下一个过滤器
type DatabaseID = Long
val filter = moderators.filter(m =>
(m.created < before) &&
(m.userType inSet userTypeList) &&
(if(true) m.mcID === mcIDFilter else true)
)
其中 m.mcID
具有 Rep[Option[models.DatabaseID]]
类型和 mcIDFilter
Option[models.DatabaseID]
。
为什么会出现下一个错误?
Cannot perform option-mapped operation
with type: (Boolean, _57) => R
for base type: (Boolean, Boolean) => Boolean
_57
?这是什么?
为简单起见,我已将条件替换为 true
。如果我删除带有条件的行或将 m.mcID === mcIDFilter
替换为 true
,代码编译正常。
此外,如果我删除 if
语句,它编译没有错误:
val filter = moderators.filter(m =>
(m.created < before) &&
(m.userType inSet userTypeList) &&
m.mcID === mcIDFilter
)
我发现当其中一个操作数的类型不同时会出现这个错误。
我也试过了
val filter = moderators.filter(m =>
(m.created < before) &&
(m.userType inSet userTypeList) &&
(if(true) m.mcID === mcIDFilter else true:Rep[Boolean])
)
但没有成功。
好的,我找到了如何编译它。这很丑,但工作。
val filter = moderators.filter(m =>
(m.created < before) &&
(m.userType inSet userTypeList) &&
(if(true) m.mcID === mcIDFilter else Some(true):Rep[Option[Boolean]])
)