Suponga que tiene una lista de números, 1 2 3 4 5 6.
asociativa aquí significa que usted puede tomar su operación y aplicarlo a cualquier subgrupo, luego aplicarlo al resultado de estos y obtener la misma respuesta:
(1) + (2 + 3) + (4 + 5 + 6)
==
(1 + 2) + (3 + 4) + (5) + (6)
==
...
Piense en el paréntesis aquí como la ejecución de un combinador.
conmutativa significa que el orden no es importante, por lo que:
1 + 2 + 3 + 4 + 5 + 6
==
2 + 4 + 6 + 1 + 2 + 3
==
...
Por ejemplo, además, se ajusta a esta propiedad, como se ha visto antes. "Máximo" también se ajusta a esta propiedad, porque el máximo de max es el máximo. max (a, b) == max (b, a).
La mediana es un ejemplo que no funciona: la mediana de las medianas no es la mediana verdadera.
No se olvide otra propiedad importante de un combinador: los tipos de entrada de la clave/valor y los tipos de salida de la clave/valor tienen que ser los mismos. Por ejemplo, no puede tomar una cadena: int y devolver una cadena: float.
Muchas veces, el reductor puede producir algún tipo de cuerda en lugar de valor numérico, lo que puede impedir que solo conecte su reductor como combinador.
¿Alguien puede aventurar una conjetura sobre el motivo del voto a la baja? Realmente me gustaría saber si mi respuesta no es buena por alguna razón, ya que así explico los combiners a la gente todo el tiempo. ¡Gracias! –
su respuesta es de gran ayuda, gracias –
Gran respuesta. ¡Gracias! –