我可以在Scala 2.8中命名一个元组(定义一个结构?)吗?
发布时间:2020-12-16 09:34:23 所属栏目:安全 来源:网络整理
导读:对于我来说,每次需要时总是重复一行长整型的元组定义,看起来不是很好。我可以把它命名并用作类型名称吗?很高兴为其字段命名,而不是使用._1,._2等。 解决方法 关于你的第一个问题,你可以简单地使用一个类型别名: type KeyValue = (Int,String) 而且,
对于我来说,每次需要时总是重复一行长整型的元组定义,看起来不是很好。我可以把它命名并用作类型名称吗?很高兴为其字段命名,而不是使用._1,._2等。
解决方法
关于你的第一个问题,你可以简单地使用一个类型别名:
type KeyValue = (Int,String) 而且,当然,Scala是一种面向对象的语言,所以关于如何专门化一个元组的第二个,这个魔术词是继承: case class KeyValue(key: Int,value: String) extends (Int,String)(key,value) 而已。上课甚至不需要身体。 val kvp = KeyValue(42,"Hello") kvp._1 // => res0: Int = 42 kvp.value // => res1: String = "Hello" 但是请注意,从案例类继承(哪个Tuple2是)已被弃用,并且将来可能会被禁止。这是编译器警告你得到上面的类定义:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |