Skip to content

Commit 2cfa0e2

Browse files
committed
Add doctest for derangements
1 parent a42609c commit 2cfa0e2

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/permutations.jl

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,18 @@ Generate all derangements of an indexable object `a` in lexicographic order.
142142
Because the number of derangements can be very large, this function returns an iterator object.
143143
Use `collect(derangements(a))` to get an array of all derangements.
144144
Only works for `a` with defined length.
145+
146+
# Examples
147+
```jldoctest
148+
julia> derangements("julia") |> collect
149+
44-element Vector{Vector{Char}}:
150+
['u', 'j', 'i', 'a', 'l']
151+
['u', 'j', 'a', 'l', 'i']
152+
['u', 'l', 'j', 'a', 'i']
153+
['u', 'l', 'i', 'a', 'j']
154+
['u', 'l', 'a', 'j', 'i']
155+
[...]
156+
```
145157
"""
146158
derangements(a) = (d for d in multiset_permutations(a, length(a)) if all(t -> t[1] != t[2], zip(a, d)))
147159

0 commit comments

Comments
 (0)