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\  / )    |  (\  / |   / \   / \
......................................................................