主页 > 知识库 > 浅析Ruby中的DATA对象

浅析Ruby中的DATA对象

热门标签:白银外呼paas系统 徐州网络外呼系统哪个好 滴滴外呼系统 常德电销平台外呼系统软件价格 地图标注赚钱项目注册 百度地图标注自定义图片 电销机器人厂商代理 高德地图标注客服 湖州u友防封电销卡

这段代码能运行吗? 这个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__

html>
 head> %= title %> /head>
 body>
  h1> %= title %> /h1>
  p>
   %= content %>
  /p>
 /body>
/html>

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

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

您可能感兴趣的文章:
  • Ruby包管理器gem常用命令
  • Ruby类实例变量、类实例方法和类变量、类方法的区别
  • 深入理解Ruby中的block概念

标签:张家界 梧州 永州 荆门 普洱 三沙 辽宁 公主岭

巨人网络通讯声明:本文标题《浅析Ruby中的DATA对象》,本文关键词  浅析,Ruby,中的,DATA,对象,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《浅析Ruby中的DATA对象》相关的同类信息!
  • 本页收集关于浅析Ruby中的DATA对象的相关信息资讯供网民参考!
  • 推荐文章