2

Scala 値クラスの内部値に名前を付ける慣用的な方法があるかどうかは誰にもわかりませんか? 製品IDの値クラスがあるとします。次のように定義する方が適切ですか。

case class ProductId(productId:String) extends AnyVal

case class ProductId(underlying:String) extends AnyVal

case class ProductId(value:String) extends AnyVal

?

それは単なる好みの問題ですか、それとも慣用的なガイドラインがありますか?

4

2 に答える 2

1

慣用的なアプローチは、できるようになったので、それを にprivate valすることです。

標準ライブラリは、標準に関する限り、self.

implicit final class ArrowAssoc[A](private val self: A) extends AnyVal

scaladoc の for コレクションとof コレクションreprからの「基になるランタイム表現」というフレーズの両方を想起させる もあります。AnyValrepr

class StringOps(override val repr: String) extends AnyVal with StringLike[String]

とが散らばっiていnます。

個人的には、特別な識別子YMMV.

于 2014-12-10T01:27:19.460 に答える