definirse por el código en el método. Cuando ese método termina de ejecutarse se regresa el valor
actual de
. A este punto esa llamada de método puede usarse como un valor (siendo el valor de
result
) en expresiones. Cuando una llamada de método aparece en una expresión el método se
result
ejecuta para obtener el valor de
Acerca de llamada de método en Expresiones: Una llamada de método puede usarse en expresiones al
igual que un valor, incluyendo condiciones, comparaciones y operadores normales. Sin embargo esto excluye
operaciones que intentan cambiarlo. Por lo tanto una llamada a método no puede usarse con operadores de
asignación unarios o como operando "objetivo" del lado izquierdo de n operador de asignación binario.
Una forma práctica de usar esta característica nos permite tomar un valor definido por un proceso en
un método y tenerlo disponible para uso por otros métodos. Nuestro ejemplo ButtonBlink.spin usa
tres métodos para demostrar
botón en P23 hará que un LED en P4 parpadee 10 veces (usando el método
determina por cuánto tiempo se presiona el botón usando el método
Figura 5-6: Usando un Resultado de Método Variable
(Paso 3) El resultado
del método ButtonTime
se asigna a la variable
time del método
principal
(Paso 4) time se usa en
lallamada a método
Blink
(Paso 1) La llamada
de método
ButtonTime pasa 23
al parámetro pin
de ButtonTime
Observe la Figura 5-6. el método
dos llamadas de métodos en el ciclo
y pasa el valor 23 a su parámetro
ButtonTime
su variable
, la cual representa que tanto tiempo se presiono P23. Este valor se regresa al punto
result
de la llamada de método (Paso 2). La expresión
por la llamada de método
listo para usarse en la siguiente llamada de método
pasar al parámetro
rate
Cargue ButtonBlinkTime en el chip Propeller.
antes de que la expresión es evaluada.
result
,
, y
Main
Blink
ButtonTime
'' ButtonBlink.spin
PUB Main | time
Repeat
time := ButtonTime(23)
Blink(4, time, 10)
PUB Blink(pin, rate, reps)
dira[pin]~~
outa[pin]~
repeat reps * 2
waitcnt(rate/2 + cnt)
!outa[pin]
PUB ButtonTime(pin) | t1, t2
repeat until ina[pin]
t1 := cnt
repeat while ina[pin]
t2 := cnt
result := t2 - t1
de ButtonBlink declara solo una variable,
Main
repeat
pin
a la variable
ButtonTime
del método
(Paso 5).
Blink
Kit Educativo de Practicas Propeller: Fundamentos · Página 77
5: Prácticas de Métodos y Cogs
. En esta aplicación presionando y soltando un
ButtonTime
(Paso 5) El método
Blink recive time como
valor a usar en su
parámetro rate
. En el primero
ButtonTime(23)
(Paso 1). El código en
time := ButtonTime(23)
del método
time
Main
Blink (4, time, 10)
) y la frecuencia se
Blink
.
(Paso 2) El método
ButtonTime define la
variable result y
regresa este valor a la
llamada de método
. Contiene solo
time
llama al método
define el valor de
ButtonTime
asigna el valor regresado
(Paso 3). Luego
time
(Paso 4) como el valor a
está