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 %>