value-class

    2

    1答えて

    私は私が(理由は値クラス消去の)私は理解していくつかの奇妙なエラーメッセージが表示され、取得していますが、私はMockitoにはない驚いて 値クラス(extends AnyVal)のインスタンスを返すメソッドを模擬しようとしていますそれに対処する。 私のクラス: case class MyValueClass(value: String) extends AnyVal 私はモックとしたい機能:

    0

    1答えて

    : class A{ int x; int y; int z; public: int getX(); int getY(); int getZ(); //... } class B{ int x; int y; int z; double rotation; } c

    1

    2答えて

    IDを表すオブジェクトにオブジェクトがあります。 ChairId、TableId、LampIdとしましょう。 GenericIdから継承してほしい。そして私は電話したいと思っていますdef f(x: GenericId) = x.id 私は彼らに1つだけid: Stringを保持したいので、私はそれらをAnyValに拡張したいと思います。場合しかし sealed abstract class Ge

    1

    1答えて

    値クラスと列挙型の違いを確認できません。誰かが私にそれらの違いと使い方の違いを教えてもらえるといいですね。

    2

    3答えて

    私はスカラーのvalue classがコンパイラ時のオペレーションをインライン化していることを知っています。多分これ case class A(i: Int) extends AnyVal { def +(that: A) = A(this.i + that.i) } A(1) + A(2) // After compile it equals to 1 + 2 よう しかし、そ

    9

    1答えて

    私はスカラのバリュークラスを自分のプロジェクトの一つに適用したいので、大きなオーバーヘッドなしに特定のプリミティブ型を充実させることができます。 object Position { implicit class Pos(val i: Int) extends AnyVal with Ordered[Pos] { def +(p: Pos): Pos = i + p.i

    1

    2答えて

    value classesは、ボックス解除のオーバーヘッドなしでタイプの安全性を達成するために使用できます。 ランタイムでは、そのようなタイプ/クラスが「存在しない」という単純なタイプと見なされていたという印象を受けました(たとえば、値クラスcase class X(i: Int) extends AnyValは実行時には単純なIntになります)。 しかし、あなたは値クラスのインスタンスで.toS

    3

    1答えて

    Quantityという定義済みの値クラスに数値演算を追加しようとしています。私は次のように、これは使用していたコード... import scala.language.implicitConversions case class Quantity(value: Double) extends AnyVal object Quantity { implicit def mkNume

    13

    1答えて

    Scala 2.10には、クラスを拡張して指定する値クラスが導入されていますAnyVal。値クラスには多くの制限がありますが、大きな利点の1つは、新しいクラスを作成することなくペナルティなしで拡張メソッドを使用できることです。値クラスを配列に入れるためには、単純に古いクラスと、そのクラスを最初のパラメータとする一連のメソッドです。したがって、 implicit class Foo(val i: I