这个 for 循环作为方法调用的等价物是什么?
给出这段代码:
for {
evListeners <- eventListeners.get(manifest.erasure.asInstanceOf[Class[Any]])
listener <- evListeners
} listener.asInstanceOf[A => Unit].apply(event)
如何将其转换为方法调用?我尝试了这个,但它抛出了一个错误,而上面的却没有:
val listeners = eventListeners.get(manifest.erasure.asInstanceOf[Class[Any]])
listeners.foreach(_.asInstanceOf[A => Unit].apply(event))
Given this code:
for {
evListeners <- eventListeners.get(manifest.erasure.asInstanceOf[Class[Any]])
listener <- evListeners
} listener.asInstanceOf[A => Unit].apply(event)
How can I convert it to method calls? I tried this, but it throws an error while the above does not:
val listeners = eventListeners.get(manifest.erasure.asInstanceOf[Class[Any]])
listeners.foreach(_.asInstanceOf[A => Unit].apply(event))
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
假设
eventListeners
是某种Map[Class[Any],Seq[Any]]
,您必须添加一个foreach
调用,如下所示该地图上的get
为您提供一个Option[Seq[Any]]
:Assuming that
eventListeners
isMap[Class[Any],Seq[Any]]
of some sort, you have to add oneforeach
call, asget
on that map gives you aOption[Seq[Any]]
: