Partage
  • Partager sur Facebook
  • Partager sur Twitter

Scala fonction récursive sur les types algébriques

Sujet résolu
    11 février 2019 à 21:01:18

    Bonjour,

    je suis débutant en scala et j'aimerais de l'aide pour une fonction récursive

    Voici le type de données utilisé:

    sealed trait Nombre
    case object Zero extends Nombre
    case class Baton(n: Nombre) extends Nombre


    et un exemple de val

    val trois: Nombre = Baton(Baton(Baton(Zero)))

    la fonction doit faire la somme de 2 batons (par exemple 3+3 = Baton(Baton(Baton(Baton(Baton(Baton(Zero))))))

    et voici la fonction

    def plus(n1: Nombre, n2: Nombre): Nombre = {
        (n1,n2) match {
         case (Zero,Zero) => Zero
          case (Zero,Baton(Zero)) => Baton(Zero)
          case (Baton(Zero),Zero) => Baton(Zero)
          case(_,_) =>  ???
        }
      }



    Pouvez-vous m'aidez s'il vous plait ?

    • Partager sur Facebook
    • Partager sur Twitter

    Scala fonction récursive sur les types algébriques

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown