val i = Some(<foo/>)
<bar>{for(o <- i) yield o}</bar>
返回奇怪的值:
res3: scala.xml.Elem = <bar>Some(<foo/>)</bar>
显然不是预期的结果。我可以通过写来解决:
<bar>{for(o <- i.toList) yield o}</bar>
它返回预期的结果:
<bar><foor></foo></bar>
但为什么我需要进行这种转换?是否有任何我应该转换的特征i
,而不是将其转换为 List ?