Personal tools

Pot utiliza expresii booleene in case cand sablonul e de alt tip ?

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
 
(One intermediate revision by one user not shown)
Line 1: Line 1:
  +
[[Category:Ro]]
 
Un programator a scris odata:
 
Un programator a scris odata:
   
Line 29: Line 30:
 
Intrebarea este preluata de la: [[http://prog.nntp.drupal.ro/node/22949 acest URL ]]
 
Intrebarea este preluata de la: [[http://prog.nntp.drupal.ro/node/22949 acest URL ]]
 
[[http://groups.google.com/group/comp.lang.functional/msg/f31fcf2963884bab probabil fiind preluata din grupul de aici]]
 
[[http://groups.google.com/group/comp.lang.functional/msg/f31fcf2963884bab probabil fiind preluata din grupul de aici]]
+
----
Pagina in constructie.
+
Pagina indexata la indexul [[Category:Ro]] [http://www.haskell.org/haskellwiki/Category:Ro Categories:Ro]
  +
----
  +
[http://www.haskell.org/haskellwiki/Ro/Haskell <= Inapoi la pagina principala Ro/Haskell. ]<br> <br>
  +
[http://www.haskell.org/haskellwiki/Intrebarile_incepatorului <'''-''' Inapoi la Intrebarile incepatorului Ro/Haskell. ]

Latest revision as of 09:32, 23 January 2008

Un programator a scris odata:

fun x = case x of  
0 -> "zero" ;
1 -> "one"  ;
otherwise -> "many"

Si s-a mirat ca acest cod functioneaza fara sa dea erori de tip !!

Ceea ce n-a stiut era faptul ca in case, dupa un sablon se pot adauga alternative
sub forma de predicate si fiecare poate avea alta formula a rezultatului lui case.
De exemplu:

fun :: Int -> String  
fun x = case x of
0 -> "zero" ;
1 -> "one"  ;
_ | x+1==4 -> "three"
| x+1==5 -> "four"
| otherwise -> "many"

Ceea ce a scris el este echivalent cu:

fun x = case x of  
0 -> "zero" ;
1 -> "one"  ;
_ | otherwise -> "many"

Despre sintaxa completa a lui case se poate citi in Haskell 98 Language and Libraries - the Revised Report de Simon Peyton Jones (editor) paragraful 3.13 pagina 25, intitulat "Case expressions".

Intrebarea este preluata de la: [acest URL ] [probabil fiind preluata din grupul de aici]


Pagina indexata la indexul Categories:Ro


<= Inapoi la pagina principala Ro/Haskell.

<- Inapoi la Intrebarile incepatorului Ro/Haskell.