當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust BufRead.lines用法及代碼示例


本文簡要介紹rust語言中 std::io::BufRead.lines 的用法。

用法

fn lines(self) -> Lines<Self> where    Self: Sized,

在此閱讀器的行上返回一個迭代器。

從該函數返回的迭代器將產生以下實例io::Result<String>。返回的每個字符串將不是有一個換行字節(0xA字節)或CRLF(0xD,0xA字節)在最後。

例子

std::io::Cursor 是一種實現 BufRead 的類型。在此示例中,我們使用 Cursor 來遍曆字節切片中的所有行。

use std::io::{self, BufRead};

let cursor = io::Cursor::new(b"lorem\nipsum\r\ndolor");

let mut lines_iter = cursor.lines().map(|l| l.unwrap());
assert_eq!(lines_iter.next(), Some(String::from("lorem")));
assert_eq!(lines_iter.next(), Some(String::from("ipsum")));
assert_eq!(lines_iter.next(), Some(String::from("dolor")));
assert_eq!(lines_iter.next(), None);

錯誤

迭代器的每一行都具有與 BufRead::read_line 相同的錯誤語義。

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::io::BufRead.lines。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。