Add documentation for ++join
commitd7f3ca14623d323e25b5035dbf9d4f2be011d4d1
authorpkova <pyry.kovanen@gmail.com>
dateMon 12 Aug 2019, 12:45 (7 years ago)
parentb479062
reference/library/2b.md+39
@@ -236,6 +236,45 @@ a `list`.
236236 ~[1 2 3]
237237```
238238
239+---
240+
241+### `++join`
242+
243+Constructs a new `list`, placing `sep` between every element of `lit`.
244+
245+#### Accepts
246+
247+`sep` is a `noun`.
248+
249+`lit` is a `list`.
250+
251+#### Produces
252+
253+a `list`.
254+
255+#### Source
256+
257+```
258+ ++ join
259+ |* [sep=* lit=(list)]
260+ =. sep `_?>(?=(^ lit) i.lit)`sep
261+ ?~ lit ~
262+ =| out=(list _?>(?=(^ lit) i.lit))
263+ |- ^+ out
264+ ?~ t.lit
265+ (flop [i.lit out])
266+ $(out [sep i.lit out], lit t.lit)
267+```
268+
269+#### Examples
270+
271+```
272+ > (join ' ' "hoon")
273+ "h o o n"
274+
275+ > (join 0 `(list @)`~[1 2 3])
276+ ~[1 0 2 0 3]
277+```
239278
240279---
241280### `++lent`