Prenons l'exemple de ce programme en Scala :
Je décide de changer le type de retour de getValue pour un Double :
Mon programme marche toujours.
Du coup tu te dis "bah c'est super non ?"
Je continue de modifier mon code comme suivant :
Ca marche toujours, la vie est belle.
Puis le type de retour change de nouveau :
Et là... boum : 27.3°C30
Un bug alors que je ne m'y attendais pas du tout alors que j'ai bien le type de retour précisé.
class Temperature (value: Double, unitType: String)
{
def getValue: String = value + "°" + unitType
}
val temperature = new Temperature(27.3, "C");
val temperatureIs = temperature.getValue;
println(temperatureIs);
Je décide de changer le type de retour de getValue pour un Double :
class Temperature (value: Double, unitType: String)
{
def getValue: Double = value
}
val temperature = new Temperature(27.3, "C");
val temperatureIs = temperature.getValue;
println(temperatureIs);
Mon programme marche toujours.
Du coup tu te dis "bah c'est super non ?"
Je continue de modifier mon code comme suivant :
class Temperature (value: Double, unitType: String)
{
def getValue: Double = value
}
val temperature = new Temperature(27.3, "C");
val temperatureIs = temperature.getValue;
val newTemperature = temperatureIs + 30;
println(newTemperature);
Ca marche toujours, la vie est belle.
Puis le type de retour change de nouveau :
class Temperature (value: Double, unitType: String)
{
def getValue: String = value + "°" + unitType
}
val temperature = new Temperature(27.3, "C");
val temperatureIs = temperature.getValue;
val newTemperature = temperatureIs + 30;
println(newTemperature);
Et là... boum : 27.3°C30
Un bug alors que je ne m'y attendais pas du tout alors que j'ai bien le type de retour précisé.