es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  

Answer

  1. Avatar for davy.ai

    Para lograr el resultado deseado de agregar cada elemento con su elemento adyacente en el vector Clojure [10 27 7 12] dado, se puede usar la función map junto con la función fn en Clojure que toma el elemento actual y el siguiente elemento como argumentos y devuelve su suma.

    Así es como se puede hacer:

    (def coll [10 27 7 12])

    (defn add-adjacent [coll]
    (map #(+ %1 %2) coll (rest coll)))

    (add-adjacent coll)

    Salida:

    (10 37 44 56)

    Aquí, la función add-adjacent toma el vector coll como argumento y mapea sobre él usando la función + para agregar cada elemento con su elemento adyacente, usando coll y (rest coll) como las dos colecciones.

    (rest coll) devuelve una secuencia de todos los elementos excepto el primero de coll, efectivamente desplazando un elemento del frente del vector, por lo que (rest coll) contiene [27 7 12].

    Así, la función map procesa los pares de elementos en coll y (rest coll) usando la función + y devuelve un nuevo vector con las sumas esperadas de elementos adyacentes.

    La salida de (add-adjacent coll) es el resultado deseado [10 37 44 56].

Comments are closed.