Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
teaching:cc4101:tareas:2015-2:tarea1 [2015/09/17 10:26] – [(2.0) Programación funcional] etanterteaching:cc4101:tareas:2015-2:tarea1 [2015/09/17 10:28] – [(2.0) Programación funcional] etanter
Line 12: Line 12:
   - (0.7) Defina una función ''%%(groupby selector lst)%%'' que permita agrupar los elementos de una lista basado en un criterio de selección. Ejemplos: <code scheme>   - (0.7) Defina una función ''%%(groupby selector lst)%%'' que permita agrupar los elementos de una lista basado en un criterio de selección. Ejemplos: <code scheme>
 > (groupby cdr  > (groupby cdr 
-           (list '("Scorsese" . 72 )  +           '(("Scorsese" . 72 )  
-                 '("Tarantino" . 53) +             ("Tarantino" . 53) 
-                 '("John" . 19) +             ("John" . 19) 
-                 '("Peter" . 72) +             ("Peter" . 72) 
-                 '("Robert" . 19)))                   +             ("Robert" . 19)))                   
 '((72 ("Scorsese" . 72) ("Peter" . 72)) '((72 ("Scorsese" . 72) ("Peter" . 72))
   (53 ("Tarantino" . 53))   (53 ("Tarantino" . 53))
Line 22: Line 22:
  
 > (groupby (λ (x) (modulo (string->number x) 3)) > (groupby (λ (x) (modulo (string->number x) 3))
-           (list "21" "5" "34" "5" "89" "47" "28"))                    +           '("21" "5" "34" "5" "89" "47" "28"))                    
 '((0 "21") (2 "5" "5" "89" "47") (1 "34" "28")) '((0 "21") (2 "5" "5" "89" "47") (1 "34" "28"))
 </code> </code>