uqbar-project / wollok

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

Problemas con dependencias circulares entre WKOs #1632

Open npasserini opened 5 years ago

npasserini commented 5 years ago

En el ejercicio de Mumuki https://mumuki.io/wollok-obj1/exercises/2828-colecciones-segunda-practica-objetos-y-colecciones-contaminacion esta solución da error:

      object centralNuclear {
   var varillasUranio = 200
   method produccionEnergetica() {return varillasUranio * 0.1}
   method puedeContaminar() {return varillasUranio > 20}
}
object centralCarbon {
   var capacidad = 1000
   var ubicacion = springfield
   method produccionEnergetica() {return 0.5 + capacidad * ubicacion.riquezaDelSuelo() }
   method puedeContaminar() {return true}
}
object centralEolica {
   var turbinas = [turbina]
   method produccionEnergetica() {
      var produccionTotal = 0
      turbinas.forEach({ t => produccionTotal += t.produccion() })
      return produccionTotal
   }
   method puedeContaminar() {return false}
}
object turbina {
   var ubicacion = springfield
   method produccion() {return 0.2 * ubicacion.velocidadDelViento() }
}

object springfield {
   var velocidadDelViento = 10
   var riquezaDelSuelo = 0.9
   var centralesInstaladas = #{centralNuclear,centralCarbon,centralEolica}
   method velocidadDelViento() {return velocidadDelViento}
   method riquezaDelSuelo() {return riquezaDelSuelo}
   method centralesContaminantes() {
      return centralesInstaladas.filter({c => c.puedeContaminar()})
   }
}
fdodino commented 3 years ago

En la versión online esto ya está solucionado:

image

(pueden ser los cambios de enero 2021). Hay que gestionar un upgrade de la versión de Wollok Server.