Jeśli musisz zrobić losowanie (np. w konkursie) i potrzebujesz wybrać pewną ilość użytkowników z listy, to poniższy kod na pewno Ci się przyda. Pobiera on nazwy użytkowników (czy też inne wartości) z pliku txt. Jedyny warunek jest taki, że jedna wartość w jednej linijce np:

Wartosc1
Wartosc2
Wartosc3
Wartosc4
itd...

Cały kod jest bardzo prosty. Wczytujemy wartości, sortujemy losowo i wynik wpisujemy do pliku:

users = []
File.open("kandydaci.txt", "r") do |infile|
   while (line = infile.gets)
      next unless  line.length > 0
      users << line.strip
   end
end

users = users.sort_by { rand }

users[0, 10].each do |user|
	File.open("wyniki.txt", 'a') {|f| f.write("#{user}\n") }
end