Kiel aldoni datumon al via rubena fontdosiero

Foje mi verkas programeton por trakti malgrandan kvanton da datumo, ekzemple mi havas datuman enportan programeton kaj mi havas iom da agordoj. Mi ja povas enmeti la datumon en alian dosieron kaj legu ĝi per File.open, sed multfoje mi ne volas trakti apartan dosieron. Rubeno donas al ni la DATA variablon.

DATA.each_line do |line|
  puts line
end

__END__
Mi
estas
malsata!

Eliro:

Mi
estas
malsata!

DATA fakte donos dosieran objekton kun la enhavo de ĉio post la __END__a komando.

Oni ankaŭ povas legi ĉion de DATA per .read

require 'csv'

CSV.parse(DATA.read, headers: true) do |row|
  puts "#{row['nomo']} naskiĝis en #{row['lando']}"
end

__END__
nomo,lando
Zamenhof,Rusia Imperio
Kabe,Pollando

Eliro:

Zamenhof naskiĝis en Rusia Imperio
Kabe naskiĝis en Pollando

Mi nur rekomendus ĉi tion por portempaj programetoj kaj tute ne por viva sistemo sed ĝi estas tre konvena foje.