这里没有太多要补充的。当然,我可以用命令式编码风格以某种方式完成它,但我很好奇如何很好地解决这个问题。
def this( arguments: Seq[(String, String)], merges: Seq[(String, String)]) = this
{
val metadata: Seq[Attribute] = ( arguments ++ merges ).groupBy( _._1 ).map
{
case (key, value) => Attribute( None, key, Text( value.map( _._2 ).mkString( " " ) ), Null )
}
var result: MetaData = Null
for( m <- metadata ) result = result.append( m )
result
}