#!/usr/bin/ruby
#
## Translation of: https://rosettacode.org/wiki/Knuth_shuffle#Perl
#
func shuffle (a) {
{ |n|
var k = (n -> irand);
k == n || (a[k, n] = a[n, k]);
} * a.len;
return a;
}
say shuffle(1..10 -> to_a);
#!/usr/bin/ruby
#
## Translation of: https://rosettacode.org/wiki/Knuth_shuffle#Perl
#
func shuffle (a) {
{ |n|
var k = (n -> irand);
k == n || (a[k, n] = a[n, k]);
} * a.len;
return a;
}
say shuffle(1..10 -> to_a);