自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

全面剖析Ruby隨機(jī)存取文件

開發(fā) 開發(fā)工具
Ruby隨機(jī)存取文件可以通過seek方法來(lái)幫助我們實(shí)現(xiàn)。那么在實(shí)際使用中我們應(yīng)當(dāng)怎么操作呢?我們一起來(lái)看看本文為大家介紹的相關(guān)技巧方法。

對(duì)于一個(gè)剛剛學(xué)習(xí)編程語(yǔ)言不久的朋友來(lái)說(shuō)對(duì)于Ruby語(yǔ)言可能還是有些陌生的。它是一種新興的解釋型腳本語(yǔ)言。如果你想實(shí)現(xiàn)Ruby隨機(jī)存取文件,你能夠使用seek方法。#t#

它是File從Io繼承而來(lái)的.它的最簡(jiǎn)單的使用就是指定一個(gè)字節(jié)位置.這個(gè)位置是相對(duì)于文件開始的位置(開始的位置是0):

 

  1. # myfile contains 
    only: abcdefghi   
  2. file = File.new("myfile")   
  3. file.seek(5)   
  4. str = file.gets# "fghi" 

如果你能確定每一行都是固定的長(zhǎng)度,你就能seek指定的行進(jìn)行Ruby隨機(jī)存取文件:

 

  1. # Assume 20 bytes per line.   
  2. # Line N starts at byte (N-1)*20   
  3. file = File.new("fixedlines")   
  4. file.seek(5*20)# Sixth line!   
  5. # Elegance is left as an exercise. 

如果你想做一個(gè)相對(duì)的搜索,你就要使用第二個(gè)參數(shù),常量 IO::SEEK_CUR表示當(dāng)前的位置,而第一個(gè)參數(shù)則就是相對(duì)于當(dāng)前位置的偏移量(可能是負(fù)數(shù)):

 

  1. file = File.new("somefile")   
  2. file.seek(55) # Position is 55   
  3. file.seek(-22, IO::SEEK_CUR)
     # Position is 33   
  4. file.seek(47, IO::SEEK_CUR)
    # Position is 80 

你也能從文件的結(jié)束位置開始Ruby隨機(jī)存取文件:

 

  1. file.seek(-20, IO::SEEK_END)
     # twenty bytes from eof 

方法tell得到文件的當(dāng)前位置,pos是它的別名:

 

  1. file.seek(20)   
  2. pos1 = file.tell # 20   
  3. file.seek(50, IO::SEEK_CUR)   
  4. pos2 = file.pos # 70  

rewind方法將會(huì)將文件指針的位置設(shè)回到開始的位置,也就是0.

以上就是Ruby隨機(jī)存取文件的各種方法介紹,希望對(duì)大家有所幫助。

責(zé)任編輯:曹凱 來(lái)源: ddvip.com
相關(guān)推薦

2009-05-25 15:17:40

C++隨機(jī)存取文件

2010-05-05 10:20:43

Java

2009-12-16 16:51:05

Ruby on Rai

2009-12-15 14:27:30

Ruby存取器

2009-12-15 15:35:56

Ruby symbol

2009-10-28 13:44:40

linux庫(kù)文件路徑

2019-01-04 10:41:07

系統(tǒng)內(nèi)存SRAM

2009-09-09 14:40:43

Linq to sql

2009-09-17 13:15:20

LINQ查詢

2009-09-18 17:17:58

LINQ模型

2009-09-22 15:22:08

Hibernate性能

2010-06-11 14:51:34

IS-IS路由協(xié)議

2010-03-10 15:44:04

2018-01-29 08:44:14

2011-11-16 09:55:27

云計(jì)算

2009-06-22 13:40:00

RubyJava

2010-06-09 13:06:22

UML業(yè)務(wù)建模實(shí)例

2009-10-19 10:52:48

綜合布線市場(chǎng)

2010-06-09 10:17:19

UML類圖元素

2010-05-14 15:14:10

安裝Subversio
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)