trouvé Unité: nécessaire Int. Pourquoi l'erreur est-elle pas évidente?

J'ai une méthode qui est censée retourner un Int. Je suis en train d'essayer de comprendre pourquoi Eclipse ne me permet pas de compiler ce, même s'il semble évident pour moi à l'intérieur de l'instruction if qui je suis, en effet, en retournant un Int. Est-il quelque chose que je suis absent de très évident? Je suis en train d'essayer de comprendre cet aspect de la Scala avant de procéder à écrire plus de code.

Voici la méthode:

def contains1(sfType: TokenType): Int = {
     if (Tokens.KEYWORDS.contains(sfType)) {
      val retVal = TokenTypes.RESERVED_WORD
    }
  }

Eclipse se plaint sur la ligne 2 --- 'incompatibilité de type; trouvé : Unité requis: Int"

TokenTypes is - public abstract interface org.fife.ui.rsyntaxtextarea.TokenTypes and RESERVED_WORD is - public static final int RESERVED_WORD = 6;

J'ai lu ce post ici: trouvé: Unité requis: Int - Comment remédier à cela? et essayé de résoudre le problème avant de le poster, mais je suis toujours à perte.

Edit: La méthode est censée retourner un Int et que j'avais tapé dans le type de retour à tort. Mon problème reste le même. Eclipse se plaint toujours.

  • Qu'est-ce que la ligne 2, qu'est-ce que les mots clés.
  • Je suis confus. Dites-vous que contains1 doit retourner un Int, ou Tokens.KEYWORDS.contains()?
  • contains1 doit retourner un Int
  • KEYWWORDS est "final val RESERVED_WORD: Int" . C'est un domaine public final class TokenTypes
  • Puisque vous le dire explicitement le contains1 renvoie l'Unité, il n'y aura pas de valeur de retour.
  • double possible de Scala: incompatibilité de type; trouvé : Unité requis: Boolean
  • Aussi, ce n'est pas tout à fait un doublon. Merci de ne pas voter pour le fermer. Les autres situation est aussi une 1 sur pattes, si, mais il n'a pas essayer cette "retVal" choses".
  • 1. La cession est de type Unitaire. L'affectation d'une valeur à retVal. Vous pouvez le vérifier dans le repl: scala> val test = {val retVal = 1} test: Unit = () 2. Qu'attendez-vous de la fonction de retour dans le cas où si votre déclaration n'est pas le garder? Comment cette fonction le sais?

InformationsquelleAutor ilango | 2013-01-07