你会写:
(ontDrugFormXml \ "VPID").headOption map
(id => graph.addE(vertex, searchDmdVertex(graph, "VMP", id.text), "has")) orElse
(throw new IllegalStateException("VPID required"))
或:
(ontDrugFormXml \ "VPID").headOption
.map(id => graph.addE(vertex, searchDmdVertex(graph, "VMP", id.text), "has"))
.orElse(throw new IllegalStateException("VPID required"))
哪一个适合你?
无法在http://docs.scala-lang.org/style/method-invocation.html
答案 0 :(得分:2)
像这样:
(ontDrugFormXml \ "VPID").headOption map { id =>
graph.addE(vertex, searchDmdVertex(graph, "VMP", id.text), "has")
} orElse (throw new IllegalStateException("VPID required"))
scala样式指南要求使用带有函数参数的map
等方法的中缀表示法。参数应与开括号位于同一行,例如在map
旁边。 orElse
应与其所用的值相同。
答案 1 :(得分:0)
Infix,第一个选择。我总是在orElse中使用中缀符号。