嗨,我得到这个丑陋的东西:我该如何将这个丑陋的一个班轮转换成一个干净的斯卡拉来理解?
val test = Some(Map("TesT",123))
val keys = test.getOrElse(Map()).keys.map(_.toLowerCase).asInstanceOf[Set[String]]
require(keys.contains("test")
我可以把它(线#2)到一个干净的/可读的理解?
这里是我的尝试:
scala> val keys = for {
| map <- test
| keys <- map.keys
| k <- keys
| } yield k.toLowerCase
<console>:18: error: value toLowerCase is not a member of Char
} yield k.toLowerCase
^
<console>:16: error: type mismatch;
found : Iterable[Char]
required: Option[?]
keys <- map.keys
^
“丑陋”的一个班轮在哪里?另外...为此目的'test.getOrElse(Map())。contains(“test”)'是一种更好的选择。 –