您现在的位置是:网站首页> 编程资料编程资料
浅析Ruby中的DATA对象_ruby专题_
2023-05-26
354人已围观
简介 浅析Ruby中的DATA对象_ruby专题_
这段代码能运行吗? 这个DATA是什么东西?
require'erb'data=DATA.readmax=15_000title="hello world!"content="hello world!\n"*10max.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专题_
- Ruby对比Python的优势和劣势_ruby专题_
- Ruby升级后no such file to load -- readline解决办法_ruby专题_
- Ruby包管理器gem常用命令_ruby专题_
- RVM安装和使用总结笔记_ruby专题_
- 深入理解Ruby中的block概念_ruby专题_
- 在Ruby on Rails中使用Rails Active Resource的教程_ruby专题_
- 举例理解Ruby on Rails的页面缓存机制_ruby专题_
- 在Ruby on Rails中优化ActiveRecord的方法_ruby专题_
- Ruby on Rails中MVC结构的数据传递解析_ruby专题_
