DarwinBotsManual
Abrir la app EnglishEN

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.

PalabraPila después
*.eye530 (por ejemplo)
4030 40
swap40 30
sub10

Así, *.eye5 40 swap sub calcula 40 − *.eye5. Este bot lo guarda en la celda 50:

cond
start
  *.eye5 40 swap sub 50 store
stop

Si 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.