RosettaCodeData/Task/Knuth-shuffle/Oforth/knuth-shuffle.fth
2023-07-01 13:44:08 -04:00

5 lines
147 B
Forth

Indexable method: shuffle
| s i l |
self asListBuffer ->l
self size dup ->s 1- loop: i [ s i - rand i + i l swapValues ]
l dup freeze ;