Wykorzystanie hash-y jest bardzo wygodne, gdyż pozwala utrzymać strukturę danych z informacją o ich wykorzystaniu. Wyobraźmy sobie, że chcemy zarządzać plikiem /etc/exports zarządzającym wyeksportowanymi systemami plików. Niech nasz hash opisujący udostępniane pliki ma postać:
$fs= { "/export/repos/" => { "10.40.0.20" => { "server" => "10.40.0.20", "options" => "ro", }, }, "/export/ks" => { "10.40.0.20" => { "server" => "10.40.0.20", "options" => "ro", }, "10.40.0.21" => { "server" => "10.40.0.21", "options" => "rw", }, }, }
Wtedy template może wyglądać następująco:
<% @fs.each do |fs_key, fs_machines| %> <%= fs_key %> <% fs_machines.each do |machine, options| %> <%= machine %>(<%= options['options'] %>) <% end %> <% end %>