如何在scala构造函数中声明类型别名?

时间:2012-03-21 10:53:28

标签: class scala types case abstract

如果我有一个在其构造函数中使用元组的类,例如:

class Foo(a: Int, b: String, c: (Int, String)) 

如何使用抽象类型以轻量级方式为元组提供更具描述性的名称(不将其包装在新类中):

class Foo(a: Int, b: String, c: Dave) 

我不确定如何在范围内引入类型别名(或者如果这是最好的事情):

type Dave = (Int, String) 

是否存在以这种方式定义类型的约定(或者我应该定义案例类并包装所有内容......)?

我很欣赏它在很多情况下都没有意义,但是如果我真的只是在寻找一个更具描述性的名字呢?

谢谢!

1 个答案:

答案 0 :(得分:9)

您可以使用类似别名:

scala> type MyTuple = Tuple2[Int,String]
defined type alias MyTuple

scala> val x = new MyTuple(1, "one")
x: (Int, String) = (1,one)