swap
Intercambia los dos números de arriba de la pila entera: a b swap deja b a.
Datos
- Palabra
swap- Alias
swapint- Familia
- Básicos
- Pila entera
- saca 2, pone 2
- Qué hace
- Intercambia los dos de arriba: a b queda b a. Con uno o ningún número no hace nada.
- Costo
- Comando básico
- Se ejecuta en
- dentro de un gen: en la condición (cond) y en el cuerpo (start o else)
a b swap deja b a. También se puede escribir swapint. Sirve cuando los operandos quedaron en el orden contrario al que pide el operador, algo que importa en los que no son conmutativos: sub, div, mod, las comparaciones o store.
| Palabra | Pila después |
|---|---|
*.eye5 | 30 (por ejemplo) |
40 | 30 40 |
swap | 40 30 |
sub | 10 |
Así, *.eye5 40 swap sub calcula 40 − *.eye5. Este bot lo guarda en la celda 50:
cond
start
*.eye5 40 swap sub 50 store
stopSi la pila tiene un solo número, o ninguno, swap no hace nada: no inventa un cero como over. El par de la pila booleana es swapbool.