Ruby __DATA__ (embedded data)
Posted by root Fri, 22 Aug 2008 16:04:00 GMT
module Kernel
RE_THIS_DATA = lambda{ |number| /^__DATA#{number}__\n/ }
RE_THE_DATA = /^__DATA\d+__/
def __data__(num="")
data = File.read($0).split(RE_THIS_DATA.call(num))
data[1].split(RE_THE_DATA)[0] if data[1]
end
end
puts "DATA"
print __data__()
puts "DATA1"
print __data__(1)
puts "DATA2"
print __data__(2)
__END__
__DATA__
data_1
data_2
data_3
__DATA1__
data1_1
data1_2
data1_3
data1_11
__DATA2__
data2_1
data2_2
data2_3
data2_31