Skip to content

Swap

Name Mandatory Description Default Type
⬅️ Input Input is ignored. Any
Output ➡️ The input to this shard is passed through as its output. Any
First No The name of first variable. none Var(Any)
Second No The name of second variable. none Var(Any)

Swaps the values of the two variables passed to it via First and Second parameters.

Details

Swap swaps the values of the two variables passed to it, one via the First parameter, the other via the Second parameter.

This shard works on all kinds of variables and across types. So you can not only swap between two integers, two strings, two sequences, two tables etc., but also between a string and a number, a table and a sequence and so on.

Any input to this shard is ignored and instead passed through as its output.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
"Shards" >= string
123 >= number1
456 >= number2
789 >= number3
[10 20] >= sequence
{k1: 1 k2: 2} >= table

Swap(First: number1 Second: number2)        ; swap two numbers
number1 | Log("number1")    ; swapped => number1: 456
number2 | Log("number2")    ; swapped => number2: 123

Swap(string table)       ; swap a string and a table
string | Log("string")      ; swapped => string: {k1: 1 k2: 2}
table | Log("table")        ; swapped => table: "Shards"

Swap(number3 sequence)   ; swap a number and a sequence
number3 | Log("number3")    ; swapped => number3:[10 20]
sequence | Log("sequence")  ; swapped => sequence: 789

[info] [sample-wire] number1: 456
[info] [sample-wire] number2: 123
[info] [sample-wire] string: {k1: 1 k2: 2}
[info] [sample-wire] table: Shards
[info] [sample-wire] number3: [10 20]
[info] [sample-wire] sequence: 789