Volevo solo sapere se è possibile iterare su un tratto sigillato in Scala? In caso contrario, perché non è possibile? Dal momento che il tratto è sigillato, dovrebbe essere possibile no?Iterazione su un tratto sigillato in Scala?
Quello che voglio fare è qualcosa di simile:
sealed trait ResizedImageKey {
/**
* Get the dimensions to use on the resized image associated with this key
*/
def getDimension(originalDimension: Dimension): Dimension
}
case class Dimension(width: Int, height: Int)
case object Large extends ResizedImageKey {
def getDimension(originalDimension: Dimension) = Dimension(1000,1000)
}
case object Medium extends ResizedImageKey{
def getDimension(originalDimension: Dimension) = Dimension(500,500)
}
case object Small extends ResizedImageKey{
def getDimension(originalDimension: Dimension) = Dimension(100,100)
}
Quello che voglio può essere fatto in Java, dando un'implementazione per i valori enum. Esiste un equivalente in Scala?
Non è [questo] (https://gist.github.com/ea5e46a2f392204993fa) ciò che si vuole? –
grazie! Stavo cercando di capire perché non potevo usare gli oggetti del caso;) –