Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
teaching:cc4101:tareas:2015-2:tarea1 [2015/09/17 10:23] – [(2.0) Programación funcional] etanterteaching:cc4101:tareas:2015-2:tarea1 [2015/09/17 10:28] – [(2.0) Programación funcional] etanter
Line 11: Line 11:
  
   - (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 (list '("Scorsese" . 72 ) +> (groupby cdr  
-                     '("Tarantino" . 53) +           '(("Scorsese" . 72 )  
-                     '("John" . 19) +             ("Tarantino" . 53) 
-                     '("Peter" . 72) +             ("John" . 19) 
-                     '("Robert" . 19)))                   +             ("Peter" . 72) 
 +             ("Robert" . 19)))                   
 '((72 ("Scorsese" . 72) ("Peter" . 72)) '((72 ("Scorsese" . 72) ("Peter" . 72))
   (53 ("Tarantino" . 53))   (53 ("Tarantino" . 53))
Line 21: 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>