私が理解する限り、object
は単なるシングルトンインスタンスです。私は、セル型で列挙型を作成し、次に座標と列挙型を含むコンストラクタを使用してclass Cell
を作成したいと考えています。しかし、それはできません、なぜ私は見つけることができません。別のファイルでなぜScalaクラスはコンストラクタでオブジェクト型のパラメータを持つことができないのですか?
object CellType extends Enumeration {
val Empty, X, O = Value
}
:
class Cell(column: Int, row: Int, cellType : CellType) {
} // CellType is an object, and it doesn't work!
あなたはどのようにそれを行うために、任意のアイデアを持っている、あるいは少なくともその理由はなぜScalaはcontructorsでオブジェクトを禁じますか?
エラーメッセージ:
警告:(3、37)インポート 'CellType' は永久的にパッケージモデルインポート de.htwg.model.CellType
エラーメッセージはありますか?質問に追加してください。 – GhostCat
良い点!説明 – mrek
メッセージが追加されました。このエラーメッセージは、問題がどこから来るかを誤解している、追加されたインポート(おそらくIDEの自動インポート機能からのもの)にあります。これは、あなたがあなたのパッケージにある値のような識別子を既に持っている間に、この識別子があなたの署名の型を持っているので、IDEがタイプ 'CellType'をインポートしようとしているからです。 –