Files
2023-08-21 09:25:37 +00:00

32 lines
9.3 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Returns an iterator over the lines, including line ending characters."><title>lines in uucore::lines - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-f3501f0f5ae15dfb.css" id="mainThemeStyle"><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="uucore" data-themes="" data-resource-suffix="" data-rustdoc-version="1.71.1 (eb26296b5 2023-08-03)" data-search-js="search-4926e5fc22a5646a.js" data-settings-js="settings-de11bff964e9d4e5.js" data-settings-css="settings-8c76f75bfb6bd192.css" data-theme-light-css="light-0f8c037637f9eb3e.css" data-theme-dark-css="dark-1097f8e92a01e3cf.css" data-theme-ayu-css="ayu-614652228113ac93.css" ></div><script src="../../static.files/storage-62ce34ea385b278a.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-f0540c1d82cde29b.js"></script><noscript><link rel="stylesheet" media="(prefers-color-scheme:light)" href="../../static.files/light-0f8c037637f9eb3e.css"><link rel="stylesheet" media="(prefers-color-scheme:dark)" href="../../static.files/dark-1097f8e92a01e3cf.css"><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../uucore/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2></h2></nav><nav class="sidebar"><a class="logo-container" href="../../uucore/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In uucore::lines</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="../index.html">uucore</a>::<wbr><a href="index.html">lines</a>::<wbr><a class="fn" href="#">lines</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/uucore/features/lines.rs.html#56-61">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub fn lines&lt;B&gt;(reader: B, sep: <a class="primitive" href="https://doc.rust-lang.org/1.71.1/std/primitive.u8.html">u8</a>) -&gt; <a class="struct" href="struct.Lines.html" title="struct uucore::lines::Lines">Lines</a>&lt;B&gt; <a href="#" class="tooltip" data-notable-ty="Lines&lt;B&gt;"></a><span class="where fmt-newline">where
B: <a class="trait" href="https://doc.rust-lang.org/1.71.1/std/io/trait.BufRead.html" title="trait std::io::BufRead">BufRead</a>,</span></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Returns an iterator over the lines, including line ending characters.</p>
<p>This function is just like <a href="https://doc.rust-lang.org/1.71.1/std/io/trait.BufRead.html#method.lines" title="method std::io::BufRead::lines"><code>BufRead::lines</code></a>, but it includes the
line ending characters in each yielded <a href="https://doc.rust-lang.org/1.71.1/alloc/string/struct.String.html" title="struct alloc::string::String"><code>String</code></a> if the input
data has them. Set the <code>sep</code> parameter to the line ending
character; for Unix line endings, use <code>b'\n'</code>.</p>
<h2 id="examples"><a href="#examples">Examples</a></h2>
<p>Use <code>sep</code> to specify an alternate character for line endings. For
example, if lines are terminated by the null character <code>b'\0'</code>:</p>
<div class="example-wrap ignore"><a href="#" class="tooltip" title="This example is not tested"></a><pre class="rust rust-example-rendered"><code><span class="kw">use </span>std::io::BufRead;
<span class="kw">use </span>std::io::Cursor;
<span class="kw">let </span>cursor = Cursor::new(<span class="string">b&quot;x\0y\0z\0&quot;</span>);
<span class="kw">let </span><span class="kw-2">mut </span>it = lines(cursor, <span class="string">b&#39;\0&#39;</span>).map(|l| l.unwrap());
<span class="macro">assert_eq!</span>(it.next(), <span class="prelude-val">Some</span>(Vec::from(<span class="string">&quot;x\0&quot;</span>)));
<span class="macro">assert_eq!</span>(it.next(), <span class="prelude-val">Some</span>(Vec::from(<span class="string">&quot;y\0&quot;</span>)));
<span class="macro">assert_eq!</span>(it.next(), <span class="prelude-val">Some</span>(Vec::from(<span class="string">&quot;z\0&quot;</span>)));
<span class="macro">assert_eq!</span>(it.next(), <span class="prelude-val">None</span>);</code></pre></div>
<p>If the input data does not end with a newline character (<code>'\n'</code>),
then the last <a href="https://doc.rust-lang.org/1.71.1/alloc/string/struct.String.html" title="struct alloc::string::String"><code>String</code></a> yielded by this iterator also does not
end with a newline:</p>
<div class="example-wrap ignore"><a href="#" class="tooltip" title="This example is not tested"></a><pre class="rust rust-example-rendered"><code><span class="kw">let </span>cursor = Cursor::new(<span class="string">b&quot;x\ny\nz&quot;</span>);
<span class="kw">let </span><span class="kw-2">mut </span>it = lines(cursor, <span class="string">b&#39;\n&#39;</span>).map(|l| l.unwrap());
<span class="macro">assert_eq!</span>(it.next(), <span class="prelude-val">Some</span>(Vec::from(<span class="string">&quot;x\n&quot;</span>)));
<span class="macro">assert_eq!</span>(it.next(), <span class="prelude-val">Some</span>(Vec::from(<span class="string">&quot;y\n&quot;</span>)));
<span class="macro">assert_eq!</span>(it.next(), <span class="prelude-val">Some</span>(Vec::from(<span class="string">&quot;z&quot;</span>)));
<span class="macro">assert_eq!</span>(it.next(), <span class="prelude-val">None</span>);</code></pre></div>
</div></details><script type="text/json" id="notable-traits-data">{"Lines<B>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.Lines.html\" title=\"struct uucore::lines::Lines\">Lines</a>&lt;B&gt;</code></h3><pre><code><span class=\"where fmt-newline\">impl&lt;B: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.71.1/std/io/trait.BufRead.html\" title=\"trait std::io::BufRead\">BufRead</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.71.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"struct.Lines.html\" title=\"struct uucore::lines::Lines\">Lines</a>&lt;B&gt;</span><span class=\"where fmt-newline\"> type <a href=\"https://doc.rust-lang.org/1.71.1/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"type\" href=\"https://doc.rust-lang.org/1.71.1/std/io/error/type.Result.html\" title=\"type std::io::error::Result\">Result</a>&lt;<a class=\"struct\" href=\"https://doc.rust-lang.org/1.71.1/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.71.1/std/primitive.u8.html\">u8</a>&gt;&gt;;</span>"}</script></section></div></main></body></html>