Bonjour à tous,
j'aimerai simuler le switch/case (constructeur classique de java, c, ...) en prolog. Est-ce qu quelq'un a une idée pour l'implémentation en prolog?
Merci.
Freddy.
Bonjour à tous,
j'aimerai simuler le switch/case (constructeur classique de java, c, ...) en prolog. Est-ce qu quelq'un a une idée pour l'implémentation en prolog?
Merci.
Freddy.
Ben oui
appel par my_switch(N, T).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 my_switch(1, T) :- action_1(T). my_switch(2, T) :- action_2(T). ..... my_switch(_, T) :- action_defaut(T).
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés
Mon avatar : La Madeleine à la veilleuse de Georges de La Tour
Merci,
n'y a t'il pas moyen de faire plus compact, et recursif, par exemple avec des listes, un peu à la "switch([(Guard,Action)|Suite]):- ..." mais je ne vois pas bien la suite
Merci.
Freddy
Plus compact ? celà me parait difficile.
Pour faire récursif pourquoi pas ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 my_switch([1, T | Reste]) :- !, % je l'avais oublié, indispensable à cause du dernier my_switch action_1(T), my_switch(Reste). my_switch([2, T | Reste]) :- !, action_2(T), my_switch(Reste). ..... my_switch([_, T | Reste]) :- action_defaut(T), my_switch(Reste).
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés
Mon avatar : La Madeleine à la veilleuse de Georges de La Tour
Partager