簡體   English   中英

閱讀文檔,特別是有限的特征

[英]Reading documentation, specifically bounded traits

查看如何從生銹-0.13中的stdin讀取,我到了這個頁面 ,其中包含以下代碼:

for line in io::stdin().lock().lines() {
    print!("{}", line.unwrap());
}

我試着按照文檔來弄清楚到底發生了什么,但是遇到了lines()函數。 最后,我瀏覽了代碼(非常棒,他們在文檔中有一個鏈接)並找到了BufferPrelude ,它回答了lines()的來源:

impl<T: Buffer> BufferPrelude for T {...}

我的問題是 - 是否更容易弄清楚發生了什么? 文檔引擎是不是沒有捕獲這種類型的邏輯?

而這正是被稱為執行毯 ,即對所有類型的實現T已經實現Buffer ,和文檔系統目前不遵循這樣的傳遞實現(即BufferedReader impls Buffer ,所以BufferPrelude是“一刀切impl'd” for BufferedReader )。

找到這個的最快方法就是使用搜索功能特別尋找方法,所以使用lines 這實際上會導致您進入BufferPrelude ,您會注意到它“僅”實現了實現Buffer類型,因此您可以推斷出BufferedReader必須實現Buffer 要驗證這一點,您可以單擊Buffer並查看底部的“實現者”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM