我宁愿只看到 Option 的值(如果它不是 None),而不是以下额外的 Some() 噪音:
List((Some(OP(_)),Some(share),3), (Some(OP(D)),Some(shaara),4), (Some(OP(I)),Some(shaaee),4))
现在,我可以为 List[Option[_]] 编写一个处理此问题的方法。但是还有许多其他结构中会出现 Options - 所以这种显式寻址每个结构的方法很麻烦。
由于隐含的优先级较低,以下代码将被忽略:
implicit def toString(myopt : Option[_]) = if (myopt == None) "None" else myopt.get
令人担忧的是 - 尽管实现了例如以所需方式处理此问题的 toString(List[Option_]]) 方法,但这仍然是一次性的。怎么样一个
Map[Option,Option] => def toString(Map[Option,Option]) = { .. }
看来我们仍然需要为每个集合类型实现一个显式的 toString() ..