[ML] Je ne pige pas grand chose à ce super langage...

Je ne pige pas grand chose à ce super langage... [ML] - Programmation

Marsh Posté le 07-01-2002 à 11:33:34    

Quelqu'un arrive à comprendre ce que fait cette fonction ? :??:
 
Allez, je mets les explications avec car sinon je pense que c'est sans espoirs... ;)
 

Citation :

Standard ML provides a mechanism whereby the notation which introduces the function parameter may constrain the type or value of the parameter by requiring the parameter to match a given pattern (so-called ``pattern matching'';). The following function, day, maps integers to strings.  
 
 
val day = fn 0 => "Monday"
           | 1 => "Tuesday"
           | 2 => "Wednesday"
           | 3 => "Thursday"
           | 4 => "Friday"
           | 5 => "Saturday"
           | _ => "Sunday";
 
 
The final case in the list is a catch-all case which maps any value other than those listed above it to "Sunday". Be careful to use double quotes around strings rather than single quotes. Single quote characters are used for other purposes in Standard ML and you may receive a strange error message if you use them incorrectly.

Reply

Marsh Posté le 07-01-2002 à 11:33:34   

Reply

Marsh Posté le 07-01-2002 à 12:06:41    

c'est un pattern matching ;)
 
C'est une fonction qui, sur base d'un entier, te renvoie le jour correspondant. Remarque bien le pattern spécial _ qui représente en fait tous les autres cas (un espece de default dans un case).
 
Donc si tu appelles ta fonction avec 3 il va te renvoyer Thursday. Si tu l'appelles avec 46549 il va te renvoyer Sunday
 
A+


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 07-01-2002 à 12:17:44    

ok donc c'est un peu comme si il y avait un "select case"...
 
Merci pour la petite explication ! ;)

Reply

Marsh Posté le 07-01-2002 à 12:49:51    

exact et de rien ;)


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 07-01-2002 à 13:44:12    

c'est beaucoup plus general qu'un select
case mais l'idee de base c'est ca.
 
LEGREG

Reply

Marsh Posté le 07-01-2002 à 13:58:16    

En tout cas c'est un langage de barjo le ML ! :crazy:
 
Je le trouve pas si simple que les auteurs des tutoriaux que je lis essayent de me le faire croire ! :D

Reply

Marsh Posté le 07-01-2002 à 14:09:30    

Jesus Army a écrit a écrit :

En tout cas c'est un langage de barjo le ML ! :crazy:
 
Je le trouve pas si simple que les auteurs des tutoriaux que je lis essayent de me le faire croire ! :D  




 
Bon courage ...  :p


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 07-01-2002 à 15:02:37    

Merci ;)
 
Au passage, personne n'aurait une idée de ce que veut dire tuple et/ou ce que signifie 'a dans ce langage ? :??:

Reply

Marsh Posté le 07-01-2002 à 15:05:53    

bin un tuple c'est un truc du genre (a,b)
 
'a c'est, si je me souviens bien, les éléménts de type a.
 
Du genre dans une déclaration de fonction tu fais
 
'a -> 'b
 
Fonction qui prend un élément de type a et renvoit un élément de type b.
 
Mais je suis pas sur, ca fait tellement longtemps


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 07-01-2002 à 15:08:43    

Jesus Army a écrit a écrit :

Merci ;)
Au passage, personne n'aurait une idée de ce que veut dire tuple et/ou ce que signifie 'a dans ce langage ? :??:  




 
tuple = n-uplet
c'est a dire une paire, triplet, quadruplet d'arguments.
 
'a = notation pour alpha
argument de type variable
utilise pour le polymorphisme.
(exemple liste d'alpha = liste pouvant
contenir n'importe quel type d'objets)
 
LEGREG

 

[edtdd]--Message édité par legreg--[/edtdd]

Reply

Marsh Posté le 07-01-2002 à 15:08:43   

Reply

Marsh Posté le 07-01-2002 à 15:11:48    

Ok merci à vous deux ;)
 
J'y r'tourne... :D

Reply

Marsh Posté le 07-01-2002 à 17:26:00    

toujours à la ramasse... :D
 
Quelqu'un arrive à comprendre ca : :??:

Citation :

filter ((member "Tollcross" )o snd) stops


 
C'est surtout le "o snd" qui me chagrine... :(

 

[edtdd]--Message édité par Jesus Army--[/edtdd]

Reply

Marsh Posté le 08-01-2002 à 12:01:51    

Ce qu'ils appellent une structure dans ce langage, c'est un peu comme une procedure en fait non ? :??:

Reply

Marsh Posté le 08-01-2002 à 13:38:23    

Jesus Army a écrit a écrit :

Ce qu'ils appellent une structure dans ce langage, c'est un peu comme une procedure en fait non ?




j'sais pas j'ai jamais fait de ML
mais pour moi structure ca sonne plutot:
"type de donnees structuré" (comme en C).
 
Tu peux donner la citation ou ils
utilisent ce mot?
 
LEGREG

Reply

Marsh Posté le 08-01-2002 à 14:29:57    

bah en fait je suis pratiquement sur que cela ne soit pas du tout une structure comme en C...
 
En plus dans les progs que j'ai pu voir, ce qui ressemble le plus au "main" est aussi une structure...
 
(là il y a un exemple vers le milieu de la page : http://www.dcs.napier.ac.uk/course [...] truct.htm)
 
C'est vraiment special comme langage ! :/

Reply

Marsh Posté le 08-01-2002 à 14:33:12    

Jesus Army a écrit a écrit :

(là il y a un exemple vers le milieu de la page : http://www.dcs.napier.ac.uk/course [...] truct.htm)




 
Si c'est une structure comme en C. A peu de chose près

 

[edtdd]--Message édité par darklord22--[/edtdd]


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 08-01-2002 à 14:56:17    

Ah bon ? :??:
Alors là je ne comprends plus rien... :crazy:
 
Le prog que j'ai il commence par un  
structure nomstructure =
                     struct

Puis le end est tout à la fin, 20 page en dessous...
 
Et il y a plein d'autres structures dedans...
 
C'est pour les fous ce langage... :(

Reply

Marsh Posté le 08-01-2002 à 15:02:13    

Jesus Army a écrit a écrit :

Ah bon ? :??:
C'est pour les fous ce langage... :(  




 
Welcome  :lol:  
 
 :hello:


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 08-01-2002 à 15:09:26    

darklord22 a écrit a écrit :

 
 
Welcome  :lol:  
 
 :hello:  



:lol:

Reply

Marsh Posté le 08-01-2002 à 15:27:37    

Au fait, petite question : J'y comprends tellement rien que j'ai des doutes sur le type de langage qu'est le SML ! :crazy:
 
Un langage orienté bordel ? :D
 
*edit*
 
Parce que ca par exemple, et bien ca ne me parle pas ! :(

Citation :


     fun is_visible (SEQ(l)|BEGEND(l)) =  
  (List.exists (fn x => is_visible x) l)
       | is_visible (RAW(s)) = true
       | is_visible (MARKUP("IMG",_)) = true
       | is_visible (MARKUP("A",l)) =
  List.exists (fn(x,y)=> (x="HREF" )) l
       | is_visible h = false

 

[edtdd]--Message édité par Jesus Army--[/edtdd]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed