• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    浅析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__
    
    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编程中关于中断和返回的用法教程
    下一篇:浅析Ruby中的Profiling工具的用法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    浅析Ruby中的DATA对象 浅析,Ruby,中的,DATA,对象,