class - 如何在Scala构造函数中声明类型别名?

标签 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) 


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

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

谢谢!

最佳答案

您可以使用类似类型的别名:

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

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

关于class - 如何在Scala构造函数中声明类型别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9803109/

相关文章:

c# - 这段 Scala 代码在惯用的 C# 中看起来如何?

scala - 存在类型或类型参数绑定(bind)失败

types - 在声明局部变量时,最好在Dart中声明类型或只使用 `var`?

types - ocaml 类型内的类型

.net - 如何识别类型是否是自定义结构?

python - Python类继承查询

java - 哪种机械师最合适

python - 在python中,什么时候可以省略self?

c++ - 如何将 3 维数据用作类属性?

java - 在Eclipse中调用Java中的Scala代码时出现错误