我已经做了足够多的 Scala 来了解丑陋的代码是什么样的。观察:
val sm Option[Map[String,String]] = Some(Map("Foo" -> "won", "Bar" -> "too", "Baz" -> "tree"))
预期输出:
: String = Foo=won,Bar=too,Baz=tree
这是我的 Tyler Perry 代码,由 M. Knight Shama Llama Yama 执导:
val result = (
for {
m <- sm.toSeq;
(k,v) <- m
} yield s"$k=$v"
).mkString(",")
但是,当 sm 为 None 时,这不起作用:-(。我收到一条错误消息,说 Nothing 没有“过滤器”方法(它认为我们正在在线过滤(k,v) <- m
)谢谢!