簡體   English   中英

Scala(x不是該類的成員)

[英]Scala (x is not a member of the class)

因此,存在一個具有三個int值的對象。 讓我們將此對象稱為藍色。 我正在嘗試制作一個布爾方法,如果藍色的Int值有效,則返回true。 每個Int都有不同的限制。 此方法稱為isBlueValid

例如,藍色由整數x,y,z組成。 x的值必須在10到20之間,而y和z的值必須在30到50之間。

所以這是我的代碼示例

case class Blue(x : Int, y : Int, z : Int){
      def isValidBlue(blue: Blue) : Boolean = {
           if(Blue.x > ... && Blue.x <....... &&Blue.y <...............)
                    true
           else
                    false

但是每次我嘗試運行該方法時,它總是說x不是Blue的成員,y不是Blue的成員,而z不是Blue的成員。

救命?

編輯 :您應該用this.xx替換Blue.x Blue.x試圖從案例類的伴隨對象而不是this實例中調用方法或val。


似乎您想要這樣的東西:

case class Blue(x: Int, y: Int, z: Int) {
    def isValid: Boolean = ((x < 21 && x > 9) && (y > 29 && y < 51) && (z > 0)) // filled in z condition with whatever
}

if(..) true else false返回Boolean時是多余的,因為if條件返回相同的Boolean值。

scala> val test = Blue(1,2,3)
scala> test.isValid
res0: Boolean = false

scala> val test = Blue(10,30,3)
scala> test.isValid
res1: Boolean = true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM