Scala 这个for循环作为方法调用的等价物是什么?
鉴于此代码:Scala 这个for循环作为方法调用的等价物是什么?,scala,Scala,鉴于此代码: for { evListeners <- eventListeners.get(manifest.erasure.asInstanceOf[Class[Any]]) listener <- evListeners } listener.asInstanceOf[A => Unit].apply(event) 假设eventListeners是某种Map[Class[Any],Seq[Any]],您必须为每个调用添加一个,因为该映射上的get为您提供了一个
for {
evListeners <- eventListeners.get(manifest.erasure.asInstanceOf[Class[Any]])
listener <- evListeners
} listener.asInstanceOf[A => Unit].apply(event)
假设
eventListeners
是某种Map[Class[Any],Seq[Any]]
,您必须为每个调用添加一个,因为该映射上的get
为您提供了一个选项[Seq[Any]
:
val evListeners = eventListeners.get(manifest.erasure.asInstanceOf[Class[Any]])
evListeners.foreach(_.foreach(_.asInstanceOf[A => Unit].apply(event)))
假设eventListeners
是某种Map[Class[Any],Seq[Any]]
,您必须为每个调用添加一个,因为该映射上的get
为您提供了一个选项[Seq[Any]
:
val evListeners = eventListeners.get(manifest.erasure.asInstanceOf[Class[Any]])
evListeners.foreach(_.foreach(_.asInstanceOf[A => Unit].apply(event)))
哦,这是有道理的。我猜foreach在选项上
只迭代非无
项,那么?没错<代码>一些(x)。foreach(f)
执行f(x)
,无。foreach(f)
不执行任何操作。哦,这很有意义。我猜foreach在选项上
只迭代非无
项,那么?没错Some(x)。foreach(f)
执行f(x)
,无。foreach(f)
不执行任何操作。