uqbar-project / wollok

Wollok Programming Language
GNU General Public License v3.0
61 stars 16 forks source link

chequeo "Cannot return an assignment" con += / -= #1894

Closed clombardi closed 4 years ago

clombardi commented 4 years ago

Esta definición

object paqueteDeLadrillos{
    var cantidad = 0
    method cantidadDeLadrillos(cant){
        return cantidad = cantidad + cant
    }
}

da error en el return, pone "cannot return an assignment". Eso está perfecto.

Peeeeero si lo cambio por return cantidad =+ cant, no da el error. Ufa.

lspigariol commented 4 years ago

ojo que no es lo mismo += que =+

El mié., 20 de may. de 2020 a la(s) 16:46, Carlos Lombardi ( notifications@github.com) escribió:

Esta definición

object paqueteDeLadrillos{

var cantidad = 0

method cantidadDeLadrillos(cant){

  return cantidad = cantidad + cant

}

}

da error en el return, pone "cannot return an assignment". Eso está perfecto.

Peeeeero si lo cambio por return cantidad =+ cant, no da el error. Ufa.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/uqbar-project/wollok/issues/1894, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACZRXG6J5GJUHAYPKE5L6YTRSQXPVANCNFSM4NGIF6UA .

clombardi commented 4 years ago

quise decir +=

PalumboN commented 4 years ago

Deberíamos, además, agregar un warning para los casos += y =+ :P

fdodino commented 4 years ago

El tema es que si uno escribe

a =+ 2

el parser lo interpreta como

a = +2  // a = 2

así que subo un fix para el issue original.