带你了解Ruby中的DATA对象

来源:爱站网时间:2020-02-08编辑:网友分享
相信很多小伙伴们在学习ruby的时候都对DATA对象非常的好奇,那么DATA是什么东西呢?它有什么作用?那么现在我们就让爱站小编带你了解Ruby中的DATA对象。

相信很多小伙伴们在学习ruby的时候都对DATA对象非常的好奇,那么DATA是什么东西呢?它有什么作用?那么现在我们就让爱站小编带你了解Ruby中的DATA对象。

 

这段代码能运行吗? 这个DATA是什么东西?

 

require 'erb'

data = DATA.read
max = 15_000
title = "hello world!"
content = "hello world!\n" * 10

max.times{
 ERB.new(data).result(binding)
}

__END__

<%= title %>

<%= title %>

<%= content %>

这个神奇的DATA是一个IO对象,读取__END__之后内容。 有一点需要注意的是DATA.read会将__END__之后的内容一次性读出,由于IO读取的特性,当第 二次DATA.read的时候内容就会为空,如果需要第二次读取,那么先要执行DATA.rewind

有的时候我们写一个脚本来做一些自动化的工作,需要预先读取一个文件的内容,作为输入或者作为模版,我们可以先把这部分内容附到__END__后,然后用DATA来读取,因为它是标准的IO对象,我们可以像处理普通文件一样处理__END__后的内容,如上面的代码所示,用来存储ERB内容作为模版,然后再进行处理,非常的方便。

看完爱站技术频道小编的详细介绍我想大家肯定对学习ruby更加感兴趣了,想要学习的朋友们,赶快把小编带你了解Ruby中的DATA对象的内容收入囊中吧!

上一篇:实现Ruby矩阵连乘算法的方法

下一篇:Ruby Gems如何更换淘宝源

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载