Personal tools

E normal sa nu fie scrise paranteze la functii ?

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
m
m
Line 1: Line 1:
Nu, in Haskell modul de scriere "curried" al functiilor se
+
Este absolut normal ! In Haskell modul de scriere "curried" al functiilor se
 
face fara paranteze.
 
face fara paranteze.
   
Line 7: Line 7:
   
 
Exista situatii cand, din motive de prioritate a operatorilor suntem fortati sa precizam ca (f g) trebuie vazuta ca aplicarea lui f lui g. Este un caz in care avem totusi o paranteza exterioara.
 
Exista situatii cand, din motive de prioritate a operatorilor suntem fortati sa precizam ca (f g) trebuie vazuta ca aplicarea lui f lui g. Este un caz in care avem totusi o paranteza exterioara.
  +
  +
Acest lucru are si avantaje:de exemplu daca f este o functie de 2 argumente si i se fixeaza primul argument la valoarea v atunci ceea ce ramane este f v adica o functie de un argument. Acest lucru e util in multe locuri, printre altele la crearea predicatelor: (2 ==) este predicatul care compara un numar cu 2 .
   
 
Concluzia: Renuntati la a vi-l imagina pe "f de x" scris ca f(x). Daca totusi simtiti nevoia unei paranteze imaginati-l scris sub forma (f x).
 
Concluzia: Renuntati la a vi-l imagina pe "f de x" scris ca f(x). Daca totusi simtiti nevoia unei paranteze imaginati-l scris sub forma (f x).
  +
  +
[http://www.haskell.org/haskellwiki/Ro/Haskell <= Inapoi la pagina principala Ro/Haskell ]

Revision as of 19:48, 31 January 2007

Este absolut normal ! In Haskell modul de scriere "curried" al functiilor se face fara paranteze.

Deci ceea ce matematicianul noteaza f(g) programatorul in Haskell va scrie doar:

f g

sau uneori (f g).

Exista situatii cand, din motive de prioritate a operatorilor suntem fortati sa precizam ca (f g) trebuie vazuta ca aplicarea lui f lui g. Este un caz in care avem totusi o paranteza exterioara.

Acest lucru are si avantaje:de exemplu daca f este o functie de 2 argumente si i se fixeaza primul argument la valoarea v atunci ceea ce ramane este f v adica o functie de un argument. Acest lucru e util in multe locuri, printre altele la crearea predicatelor: (2 ==) este predicatul care compara un numar cu 2 .

Concluzia: Renuntati la a vi-l imagina pe "f de x" scris ca f(x). Daca totusi simtiti nevoia unei paranteze imaginati-l scris sub forma (f x).

<= Inapoi la pagina principala Ro/Haskell