Rust程式語言如何解析含有點或點點的檔案路徑? 2018 年 9 月 26 日 Magic Len Rust 無論是Unix-like作業系統(如Linux、macOS)或是Windows作業系統的檔案路徑,皆有支援點(.)與點點(..)的功能。點(.)被用來表示「目前路徑的節點」或是「目前的工作目錄」,例如「/path/./to」或是「./path/to」;點點(..)則被用來表示「目前路徑的節點的上一層節點」或是「目前的工作目錄的上一層目錄」,例如「/path/../to」或是「../path/to」... 繼續閱讀
Rust程式語言如何取得檔案的絕對完整路徑? 2018 年 9 月 24 日 Magic Len Rust 在大部分的情況下,我們不會限制使用者輸入檔案路徑的時候一定要使用絕對路徑還是相對路徑。但是在程式處理的過程中,或是需要輸出一些Log資訊的時候,我們可能就必須要將路徑通通都使用絕對路徑來處理了。Rust程式語言標準函式庫中的「fs」模組,以及「Path」和「PathBuf」結構體,雖然有提供「canonicalize」函數或方法,是可以取得檔案的絕對路徑沒錯,但使用起來有一些嚴重的限制。 繼續閱讀
Rust 學習之路─第二十四章:建立多執行緒的Web伺服器 2018 年 7 月 4 日 Magic Len 研究分享、 Rust 在這個章節中,我們要用最基礎的方式透過TCP的監聽與連接,解析與傳送符合HTTP格式的訊息,來完成我們的Web伺服器。至於會選擇用這樣的方式來製作Web伺服器的原因是,要練習把我們在先前的章節中學到的東西加以應用。畢竟現在crates.io上已經有很多現成的Web框架(Web Framework)可以使用,正常來講我們是不需要從底層刻出Web伺服器的。 繼續閱讀
Rust 學習之路─第二十三章:進階的型別用法 2018 年 7 月 3 日 Magic Len 研究分享、 Rust 在上一章節的最後我們介紹到利用元組結構體來建立新的型別的方式,在這個章節我們會繼續介紹更多型別的應用。 繼續閱讀
Rust 學習之路─第二十二章:進階的特性用法 2018 年 7 月 2 日 Magic Len 研究分享、 Rust 這個章節會詳細介紹特性的關聯型別(Associated Type)、運算子多載(Operator Overloading)的實作方式、呼叫名稱相同但屬於不同特性的方法或關聯函數、替外部的型別實作新的特性。 繼續閱讀
Rust 學習之路─第二十一章:進階的生命周期用法 2018 年 7 月 1 日 Magic Len 研究分享、 Rust 關於Rust的生命周期,我們在先前的章節中已經先學習了一部份了。在這個章節,我們將會學習如何使用生命周期的子型別,了解如何替泛型型別參數指定生命周期,以及特性物件的生命周期規則。 繼續閱讀
Rust 學習之路─第二十章:不安全的Rust 2018 年 6 月 30 日 Magic Len 研究分享、 Rust 在最一開始的幾個章節,我們就已經了解到Rust程式語言在編譯階段時,就會進行許多檢查,使得程式在通過編譯後,進入執行階段時,能以有效又安全的方式運行。然而,在某些情況下,通常是處理跟作業系統和硬體有關的底層行為時,使用正常能夠確保安全性的Rust程式碼並無法實現出我們要的功能,此時就會需要使用到可能會讓程式變得不安全的開發方式。 繼續閱讀
Rust 學習之路─第十九章:巨集 2018 年 6 月 29 日 Magic Len 研究分享、 Rust 在上一個章節中,我們學習了許多跟文字格式化有關的巨集。在這個章節,我們將會更深入地了解巨集到底是什麼東西,以及實作巨集的方式。 繼續閱讀
Rust 學習之路─第十八章:格式化文字 2018 年 6 月 28 日 Magic Len 研究分享、 Rust Rust程式語言的標準函式庫中的「std::fmt」模組提供了多種巨集來格式化或是印出字串。在這個章節中,我們將會學習「format!」、「write!」、「writeln!」、「print!」、「println!」、「eprint!」、「eprintln!」巨集的詳細使用方式。 繼續閱讀
Rust 學習之路─第十七章:物件導向程式設計 2018 年 6 月 27 日 Magic Len 研究分享、 Rust 許多人會想問:Rust是物件導向的程式語言嗎?答案可以為是,也可以為不是,端看問這個問題的人對於「物件導向程式語言」定義的嚴格程度。Rust程式語言有結構體,而且可以使用「impl」關鍵字來替結構體實作特性和方法,甚至可以使用「pub」關鍵字來設定成員的存取權限,這難道不就是物件導向程式語言嗎?也許吧!但別忘了,Rust程式語言本身也提供了基本資料型態,我們先不論程式的難易度,其實可以只使用基本資... 繼續閱讀