根據我在X中傳入的對象類型,我需要使用apply方法。我可以指定我想要使用的修飾符(Y或Z)。我需要使用這樣的「下面」功能的語法:在Scala中使用apply方法
(object of type B) following Y
或
(object of type C) following Z
的代碼看起來是這樣的:
trait A
{
def following(modifier: X) = modifier(this)
}
case class B() extends A{}
case class C() extends A{}
trait X {}
object Y extends X
{
apply(obj: B):B = {}
apply(obj: C):C = {}
}
object Z extends X
{
apply(obj: B):B = {}
apply(obj: C):C = {}
}
編譯器中提供了錯誤在那裏我已經實現了'跟隨'功能。我究竟做錯了什麼?
什麼是你希望這個函數的結果,而你得到什麼錯誤? – Shadowlands
例如:我需要更改B類對象的一個字段。因此,修飾符Y接受一個B類型的對象,更改其字段之一(我跳過了它的邏輯),並返回一個相同類型的對象,但只有一個的領域改變了。 –
我建議將該信息添加到問題中(例如顯示預期的使用和結果),以及您正在獲得的實際錯誤。 – Shadowlands