eh be encore plus efficace ! Merci ! et top pour les """ Le 20/02/2024 à 16:10, Eric Chatellier a écrit :
Pour remplacer la première ligne, on peut faire :
eq_death_rate = eq_death_rate.replaceFirst(".*\n", "double Ktemp=context.getValueAndCompute(\"nephrops.naturalDeathRate.Ktemp\","+mor+");\n");
Pour les retours à la ligne, il faut écrire "\n" et chaque ligne doit se terminer par ".
Sinon, à partir de IsisFish 4.4.8.0, on a accès à une nouvelle synthaxe Java: """ (3 fois le carateres "): Tout ce qui est entre """ et """ est une chaine de caratère (exemple : https://www.baeldung.com/java-text-blocks )
Ce code est valide par exemple:
String eq_death_rate = """
if (group == null) return Ktemp*0.0; else if (group.getId() == 0) return Ktemp*0.0; else if (group.getId() == 1) return Ktemp*0.25; else if (group.getId() == 2) return Ktemp*0.2; else if (group.getId() ==3)return Ktemp*0.2; else if (group.getId() ==4)return Ktemp*0.2; else if (group.getId() ==5)return Ktemp*0.2; else if (group.getId() ==6)return Ktemp*0.2; else if (group.getId() ==7)return Ktemp*0.2; else if (group.getId() ==8)return Ktemp*0.2; else if (group.getId() ==9)return Ktemp*0.2; else return 0;
"""
Le 20/02/2024 à 14:59, Stephanie MAHEVAS a écrit :
Salut
dans un plan de simulation, je veux changer une équation en modifiant uniquement la première ligne.
string eq_death_rate_deb ="double Ktemp=context.getValueAndCompute(\"nephrops.naturalDeathRate.Ktemp\","+mor+");" string eq_death_rate_new =""+ eq_death_rate_deb +"if (group == null) return Ktemp*0.0; else if (group.getId() == 0) return Ktemp*0.0; else if (group.getId() == 1) return Ktemp*0.25; else if (group.getId() == 2) return Ktemp*0.2; else if (group.getId() ==3)return Ktemp*0.2; else if (group.getId() ==4)return Ktemp*0.2; else if (group.getId() ==5)return Ktemp*0.2; else if (group.getId() ==6)return Ktemp*0.2; else if (group.getId() ==7)return Ktemp*0.2; else if (group.getId() ==8)return Ktemp*0.2; else if (group.getId() ==9)return Ktemp*0.2; else return 0;" pop.setNaturalDeathRate(eq_death_rate_new);
Y a t-il une manière plus efficace de le faire ? Ca m'arrangerait car j'ai une autre équation qui est beaucoup plus longue....
Et si non, comment faire que les passage à la ligne entre " " soit bien interprétés ?
Merci
Bon apres-midi
Stéphanie
-- ...................................................................... Stephanie MAHEVAS UMR MARBEC - site de Sète IFREMER/HM https://annuaire.ifremer.fr/cv/16343/
Tel: (33) 04 99 57 32 39 (8239) - 06 75 83 59 33
o \ o / _ o __| \ / |__ o _ \ o / o /|\ | /\ ___\o \o | o/ o/__ /\ | /|\ / \ / \ | \ /) | ( \ /o\ / ) | (\ / | / \ / \ ......................................................................
_______________________________________________ Isis-fish-users mailing list Isis-fish-users@list.isis-fish.org https://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users Archives et moteur de recherche: http://list.isis-fish.org/pipermail/isis-fish-users/
-- ...................................................................... Stephanie MAHEVAS UMR MARBEC - site de Sète IFREMER/HM https://annuaire.ifremer.fr/cv/16343/ Tel: (33) 04 99 57 32 39 (8239) - 06 75 83 59 33 o \ o / _ o __| \ / |__ o _ \ o / o /|\ | /\ ___\o \o | o/ o/__ /\ | /|\ / \ / \ | \ /) | ( \ /o\ / ) | (\ / | / \ / \ ......................................................................