問題タブ [companion-object]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - Scala で、コンパニオン オブジェクトからケース クラスのプライベート コンストラクターにアクセスするにはどうすればよいですか
次のコードを定義しました (Scala IDE/Scala Worksheet with Scala 2.10):
そして、次の出力を正常に受け取りました。
a : public_domain.WorkSheet1.A = A(ああ、ハイ)
ただし、既存のものをコメントアウトしcase class A (s: String)
、もう一方 (「private」を含む) のコメントアウトを解除すると、次のコンパイラエラーが表示されます:「オブジェクト WorkSheet1 でクラス A のコンストラクター A にアクセスできません」。
コンパニオン オブジェクトがそのコンパニオン クラスのすべてのプライベート パーツにアクセスできることは、私の理解でした。へー。ええと...真剣に。何を与える?
scala - スマートコンストラクターのScalaケースクラスの実装?
ケースクラスを使用してスマートコンストラクターを実装しようとしています。copy
メソッドをうまくオーバーライドすることapply
ができたので、コンパニオン オブジェクトの でうまくいったはずですが、 を渡そうとしたときに壁にぶつかりましたBigInt
。入れてみましdef apply(value: BigInt): Option[Natural]
たが、scalac
シンボルの競合について不平を言います。
そんなことはありえないのではないでしょうか?
scala - コンパニオン オブジェクトのフィールドにアクセスできません
クラスがコンパニオン オブジェクトのフィールドにアクセスできないのはなぜですか?
のプライベート フィールドにアクセスできる必要がありますobject MyClass
。
xml - Scala – コンパニオン オブジェクト & 適用: 理解できないエラー
コンパニオン オブジェクトを使用して、XML 解析ドキュメントを表すクラスを作成できません。
クラスのコードは次のとおりです。
このクラスを使用するアプリのコードは次のとおりです。
エラーは次のとおりです。
私は単にこのエラーを理解していません (そして、これを削除する方法)。
ありがとう!
scala - scala: プライベート ユーティリティ メソッドはコンパニオン オブジェクトに存在する必要がありますか?
質問は自明ですが、例を挙げさせてください:
私は次のものを持っています:
このコンテキストでは、質問は次のとおりです。に住む必要がありますか?def message(result: Result)
object Foo
賛成の議論は、def message(result: Result)
内のどの状態にも依存しないことを明示することclass Foo
です。反対意見は、コンパニオン オブジェクトの動機は、Java public static メソッドを配置する場所を提供することだったというものです。