Caml _ la commande in [Résolu/Fermé]

Signaler
Messages postés
866
Date d'inscription
dimanche 1 novembre 2015
Statut
Membre
Dernière intervention
18 mars 2021
-
Messages postés
866
Date d'inscription
dimanche 1 novembre 2015
Statut
Membre
Dernière intervention
18 mars 2021
-
Bonjour,

Je cherche à comprendre ce que fait la commande in en Caml. Je n'ai rien trouvé sur le net.

Merci pour vos réponses :)

1 réponse

Messages postés
15802
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 avril 2021
685
Bonjour,

en me basant sur la syntaxe décrite là
https://sharepoint.stackexchange.com/questions/80210/caml-query-limitation-of-values-in-in-operator et ne connaissant pas caml, je suppose que ça permet de spécifier dans une requête dans quels champs chercher et quelle valeur prendre
<Where>
  <Or>
      <In>
        <FieldRef Name="ID" /><--on cherche dans ID-->
        <Values>
           <Value Type="Number">1</Value><--Des valeurs allant de 1 à 499-->
           <Value Type="Number">2</Value>
           .
           .
           .
           <Value Type="Number">499</Value>
        </Values>
      </In>
      <In>
        <FieldRef Name="ID" />
        <Values>
           <Value Type="Number">500</Value>
           <Value Type="Number">501</Value>
           .
           .
           .
           <Value Type="Number">999</Value>
        </Values>
      </In>
   </Or>
</Where>

Messages postés
15802
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 avril 2021
685
de rien
Messages postés
16304
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
14 avril 2021
2 819
Bonjour,
je pense qu'il y a eu inversion "expression locale nommée, et nom peut ensuite" me semble vouloir dire "expression locale nommée nom, et peut ensuite"

C'est kif kif (sous réserve d'y mettre un peu de couleur :-))

La formule standard
let nom = expression in
sert à définir une expression locale nommée, et
nom
peut ensuite être utilisé dans la fonction à la place de
expression
jusqu'au
;;
qui marque la fin du bloc de code.

Remarque : l'usage du
let ... in
dans l' exemple de
average
est inutile.

NB. Pour tes prochaines questions, merci de préciser si tu utilises Objective Caml ou Caml Light, il y a quelques différences entre les deux.
Messages postés
866
Date d'inscription
dimanche 1 novembre 2015
Statut
Membre
Dernière intervention
18 mars 2021
112 >
Messages postés
16304
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
14 avril 2021

D'accord merci et je note ;)
C'est Caml Light
Mais le langage reste le même => la syntaxe aussi : Caml non?
Messages postés
16304
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
14 avril 2021
2 819 >
Messages postés
866
Date d'inscription
dimanche 1 novembre 2015
Statut
Membre
Dernière intervention
18 mars 2021

Le noyau historique du langage est commun, mais chacun ont dérivés de leur côté depuis 1990. La dernière version de Caml Light date de 2002 et aujourd'hui seul OCaml est mis à jour mais sans se restreindre à la syntaxe de Caml Light.

Exemple basique de différences, pour créer un tableau :
En Caml Light on fait
make_vect 5 0;;
mais en OCaml ce genre de fonctions utilitaires ont été normalisées avec une notation objet
Array.make 5 0;;
ce qui fait bien sûr la même chose au final mais avec une syntaxe plus récente.
Messages postés
866
Date d'inscription
dimanche 1 novembre 2015
Statut
Membre
Dernière intervention
18 mars 2021
112 >
Messages postés
16304
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
14 avril 2021

D'accord!
Donc je suis sous Caml Light une version plus mise à jour.
De toute façon à la fin de ce semestre je n'utiliserai plus ce langage ^^