2017-11-15 11 views
0

ファイル全体をメモリにロードせずに大きなテキストファイルの最後から10行分読みたい。赤はRebolのようなオープンな機能はありませんか?

REBOLのIn Rebol, what is the idiomatic way to read a text file line by line?

のために、ここで説明したように、私がオープンを使用して試してみたかったが、赤がオープン機能を持っていませんか?

+0

フルI/Oはまだ赤で利用できません。 0.7.0を待つhttps://trello.com/b/FlQ6pzdB/red-tasks-overview – sqlab

答えて

1

あなたはread/lines/seek/part %yourfile offset blocksize

を試すことができますしかし、私は見当もつかない。オフセットをテストして適応させ、ブロック化する必要があります。

+0

RebolとRedのread/part/linesの単純なIO実装には違いがあります。 Rebolでは、 'part'パラメータで与えられた行数を読み込みます。 Redでは、まずファイルの 'part'を読み込み、それを' lines'に分割します。だから 'read/lines/part%file 2'はRedとRebolの結果を返します。私は完全なIOが実装されている場合、それは赤で修正されると思います。 – endo64

+0

しかし、** read/lines/seek/part **では、独自のread-line関数を書くことができます。しかし、GCが利用できないので、おそらく、ファイル全体を一度に読むことに比べて利点はありません。ファイルサイズがわかっていて最後の行が必要な場合にのみ、いくつかの利点があります。 – sqlab

0

赤はopenファンクションまだを持っていません。フルIOサポートは0.7.0に計画されています。したがって、OSコールを直接待つか使用する必要があります。

関連する問題