主頁(yè) > 知識(shí)庫(kù) > 淺析Ruby中的DATA對(duì)象

淺析Ruby中的DATA對(duì)象

熱門(mén)標(biāo)簽:白銀外呼paas系統(tǒng) 徐州網(wǎng)絡(luò)外呼系統(tǒng)哪個(gè)好 滴滴外呼系統(tǒng) 常德電銷平臺(tái)外呼系統(tǒng)軟件價(jià)格 地圖標(biāo)注賺錢(qián)項(xiàng)目注冊(cè) 百度地圖標(biāo)注自定義圖片 電銷機(jī)器人廠商代理 高德地圖標(biāo)注客服 湖州u友防封電銷卡

這段代碼能運(yùn)行嗎? 這個(gè)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>

這個(gè)神奇的DATA是一個(gè)IO對(duì)象,讀取__END__之后內(nèi)容。 有一點(diǎn)需要注意的是DATA.read會(huì)將__END__之后的內(nèi)容一次性讀出,由于IO讀取的特性,當(dāng)?shù)?二次DATA.read的時(shí)候內(nèi)容就會(huì)為空,如果需要第二次讀取,那么先要執(zhí)行DATA.rewind。

有的時(shí)候我們寫(xiě)一個(gè)腳本來(lái)做一些自動(dòng)化的工作,需要預(yù)先讀取一個(gè)文件的內(nèi)容,作為輸入或者作為模版,我們可以先把這部分內(nèi)容附到__END__后,然后用DATA來(lái)讀取,因?yàn)樗菢?biāo)準(zhǔn)的IO對(duì)象,我們可以像處理普通文件一樣處理__END__后的內(nèi)容,如上面的代碼所示,用來(lái)存儲(chǔ)ERB內(nèi)容作為模版,然后再進(jìn)行處理,非常的方便。

您可能感興趣的文章:
  • Ruby包管理器gem常用命令
  • Ruby類實(shí)例變量、類實(shí)例方法和類變量、類方法的區(qū)別
  • 深入理解Ruby中的block概念

標(biāo)簽:張家界 梧州 永州 荊門(mén) 普洱 三沙 遼寧 公主嶺

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺析Ruby中的DATA對(duì)象》,本文關(guān)鍵詞  淺析,Ruby,中的,DATA,對(duì)象,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《淺析Ruby中的DATA對(duì)象》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于淺析Ruby中的DATA對(duì)象的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章