companion-object

    1熱度

    2回答

    試圖使用案例類實現智能構造函數。管理覆蓋copy法測得的,而且我相信在應該做的伎倆伴侶對象apply,而是試圖在BigInt傳遞時,我碰了壁。我試圖把在def apply(value: BigInt): Option[Natural]但隨後scalac抱怨衝突的符號。 import spire.math.Integral // companion object contains implicit

    4熱度

    1回答

    我剛剛開始使用Scala,並正在編寫一些教程。我遇到了伴侶對象,並將它們用作工廠。我嘗試了幾件事。但是,我沒有得到以下正常工作。不能讓我圍繞它的頭.. import math._ abstract class Point{ // ... } object Point{ private class PointInt(val x:Int,val y:Int) extends

    3熱度

    1回答

    我剛剛嘗試了下面的這段代碼,它按預期工作。它打印1。我的問題是,我不明白髮生了什麼。 case類如何有兩個伴隨對象(一個由編譯器生成,另一個由我編寫)?可能它不能。所以他們必須以某種方式合併在引擎蓋下。我只是不明白他們如何合併?我應該注意哪些特殊的合併規則? 是這樣的,如果兩個伴隨對象中定義的定義集合是不相交的,那麼結果案例類別中的定義集合就是兩個不相交集合的並集?我會認爲這是他們如何合併,但我不

    5熱度

    1回答

    讓我們來考慮下面的代碼: class A object A{ implicit def A2Int(implicit a:A)=1 implicit def A2String(a:A)="Hello" } object Run extends App{ implicit val a: A =new A import A.A2Int //

    1熱度

    1回答

    object Test extends App { def print(s: String)(implicit p: Prefixer) = { println(p.prefix + s) } print("test") } case class Prefixer(prefix: String) object Prefixer {

    3熱度

    1回答

    我需要在伴侶對象中定義一個val,該伴隨對象使用將伴隨類作爲參數的方法進行初始化。 我想處理這與特點不要重複自己。我的問題是,X.getClass與classOf [X]不一樣。第一個是伴隨對象的類,第二個是伴隨類的類,但我需要直接獲取伴隨類而不對其進行硬編碼。 基本上,我需要這樣的: trait Foo { } object FooCompanionObject[f <: Foo] {

    0熱度

    1回答

    我想爲某些導入的Java類型創建伴隨對象,因此我不必使用new來分配它們。我想從類型Vector3f開始,它是從jMonkeyEngine的com.jme3.math中導入的。 我想的是: package com.jme3.math object Vector3f { def apply() = new Vector3f() def apply(x:Float, y:Flo

    5熱度

    2回答

    有人可以澄清爲什麼下面的代碼導致MatchError? MatchError在這種情況下意味着什麼? class A { def g = A.f } object A { val f = "Object A" } class B extends A { override val A.f = "Object B" } val b = new B b

    1熱度

    2回答

    我可以檢查伴隨對象中字段的值而不引用類的實際對象嗎? 我想存儲一個靜態計數器,每當創建該類的新對象時增加它,並且能夠在不使用對象本身的情況下檢查它的值,這可能嗎?

    1熱度

    1回答

    我有下面的代碼定義(在斯卡拉IDE /斯卡拉工作表與斯卡拉2.10)及其配套的訪問對象的情況下,類的私有構造: object WorkSheet1 { object A { def apply(s: String, huh: Boolean = false): A = A(s) } case class A (s: String) //case c