## , y (Ravel)

Reshapes a matrix to a vector. Reshapes an atom (a scalar value) to a vector (of length 1).

```   ]z=: 3 5 {. i.10 10          NB. sample noun
0  1  2  3  4
10 11 12 13 14
20 21 22 23 24

,z
0 1 2 3 4 10 11 12 13 14 20 21 22 23 24

\$ 'a'

\$ \$ 'a'
0

\$ ,'a'
1```

### Common uses

1. Ensuring that a list of strings (literal vectors) does actually consist of strings:

```   z=: 'this' ; 'is' ; 'a' ; 'list' ; 'of' ; 'strings'

\$each z
┌─┬─┬┬─┬─┬─┐
│4│2││4│2│7│
└─┴─┴┴─┴─┴─┘

\$each (,each z)
┌─┬─┬─┬─┬─┬─┐
│4│2│1│4│2│7│
└─┴─┴─┴─┴─┴─┘```

2. Converting a literal matrix to a string:

```      z=: 'this' ; 'really is' ; (,'a') ; 'list' ; 'of' ; 'strings'
\$ zx=: >z
6 9
zx
this
really is
a
list
of
strings

,zx          NB. no good because words will run together
this     really isa        list     of       strings

,zx,.' '     NB. append extra space to each line
this      really is a         list      of        strings

require 'strings'
deb ,zx,.' ' NB. delete extra blanks
this really is a list of strings```

## x , y (Append)

Concatenate two lists / atoms.

• The lists / atoms will be reshaped and padded if necessary.

```   z=: i.6
z,99
0 1 2 3 4 5 99
99,z
99 0 1 2 3 4 5

]z=: 3 5 {. i.10 10          NB. sample noun
0  1  2  3  4
10 11 12 13 14
20 21 22 23 24

z,99
0  1  2  3  4
10 11 12 13 14
20 21 22 23 24
99 99 99 99 99

z,z
0  1  2  3  4
10 11 12 13 14
20 21 22 23 24
0  1  2  3  4
10 11 12 13 14
20 21 22 23 24```