0 votos

Suma AppleScript de una lista

Estoy tratando de obtener la suma de una lista.

La lista newTotal:

{"30.00", "30.00"}

repeat with each from 1 to count of items of newTotal
    set myFinalTotal to myFinalTotal + each
end repeat

Pero el resultado es inesperado = 3

¿Cómo debo hacer las cuentas?

1voto

qarma Puntos 71

Modificando su intento original:

set myList to {"30.00", "30.00"}
set myFinalTotal to 0

repeat with x in myList
    set myFinalTotal to myFinalTotal + x
end repeat

myFinalTotal

Y por el placer de aprender:

  • Recursivo:

    to sumItems from L as list
        if L = {} then return 0
        (L's first item) + (sumItems from the rest of L)
    end sumItems
  • Iterativa:

    to sumItems from L as list
        tell (a reference to last item of {0})
            repeat while L ≠ {}
                set the contents to it + (L's first item)
                set L to the rest of L
            end repeat
    
            return the contents
        end tell
     end sumItems

0voto

KevinCork Puntos 82

Resuelto : Estoy contando la lista primero y luego hago mi declaración de repetición

set sum to 0
set n to count newTotal

repeat with i from 1 to n
    set sum to sum + (item i of newTotal)
end repeat

return sum

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X