原创 在 vim 中繪製 uml 圖與 dot 圖的快捷鍵定義

PlantUML 定義了繪製 UML 圖的語法, 可以通過純文本的方式繪製 UML 圖. graphviz 定義了繪製一般圖形的語法, 可以通過純文本的方式繪圖. 實際上, PlantUML 依賴於 graphviz. 關於

原创 robotc 編程挑戰 (6)

任務簡介 程序 任務簡介 本文爲 virtual world challenge pack 中的基本運動(BASIC MOVEMENT) 中的 “sensabot challenge”, 如圖 1 所示. 要求從起點 A

原创 遷移到 go module

文章目錄下載安裝 golang.bashrc 設置開始新的工作其它 如果一直工作於 < golang1.12, 然後現在工作於 >= golang1.12, 並且使用 go module 進行管理, 那麼需要做一些工作. 下載安裝

原创 pandoc 中編寫圖片居中過濾器

什麼是 pandoc pandoc 文檔轉換過程 自定義插入圖片的格式 docx, pdf, html 的居中語法 編寫過濾器 後記 在寫 pandoc 文檔時, 有時候需要定義自已的格式, 或者在插入了圖片, 而將

原创 robotc 編程挑戰 (7)

任務簡介 程序 最後 任務簡介 本文爲 virtual world challenge pack 中的基本運動(BASIC MOVEMENT) 中的 “orchard challenge”, 要求從指定地點出發, 沿果

原创 robotc 編程挑戰 (9)

任務簡介 程序 任務簡介 本文爲 virtual world challenge pack 中的傳感器(SENSORS) 中的 “vacuum”, 如圖 1 所示. 要求從起點 A 出發, 當碰到場地一條邊時就轉向.

原创 robotc 編程挑戰 (5)

任務簡介 程序 任務簡介 本文爲 virtual world challenge pack 中的基本運動(BASIC MOVEMENT) 中的 “cargo_transport_challenge”, 要求從指定區域

原创 C++17 之 "deduction guides"

語法 例子 最後 “Deduction guides” 在 C++17 標準 https://www.iso.org/standard/68564.html 中屬於 17.9 章節. 標準中如下描述: Deducti

原创 安裝使用 apt-cyg

由於習慣了使用了 linux, 但工作需要有時需要用到 windows. windows 的命令行功能有限, 命令也不豐富, 用的不習慣. 後來發現可以在 windows 下安裝 cygwin, 強大的終端與 linux 下

原创 C++17 之 "void_t"

使用 void_t void_t 的工作原理 一個有趣的例子 C++ 17 提供了 void_t, 它是一個模板別名, 定義爲 template<class...> using void_t = void; void_t

原创 robotc 編程挑戰 (8)

任務簡介 程序 從現在開始, 將使用到傳感器, 涉及到對傳感器的操作. 任務簡介 本文爲 virtual world challenge pack 中的傳感器(SENSORS) 中的 “move untill touc

原创 C++17 之 "constexpr if"

C++17 之前的做法 C++17 的作法 更多 最後 普通的 if-else 是在執行期進行條件判斷與選擇, 這意味着在泛型編程中無法使用 if-else 語句進行條件判斷. 比如例 1 會引起編譯錯誤 例 1: 將多

原创 C++17 之 "利用構造函數推導模板參數類型"

演示用的模板類 C++17 之前的做法 C++17 的做法 某些情況 總結 在 C++17 之前, 通過向模板類的構造函數傳遞參數無法推導出類的模板參數類型. 一般要通過一個幫助函數來構造一個對象, 通過傳遞給幫助函

原创 C++17 之 "摺疊表達式"

支持的操作符 摺疊分類 空參數包 其它例子 最後 C++11 提供了可變模板參數包, 使函數可以接受任意數量的參數. 但在 C++11 中展開參數包稍顯麻煩, 而 C++17 的摺疊表達式使得展開參數包變得容易, 其

原创 ev3 編程中各程序塊之間的關聯

USB 連接 無線連接 其它 在特殊場合的 ev3 模型中, 可能會用到不止一個 brick (官方將之稱爲程序塊). 程序塊之間可以通過兩種方式連接: 有線和無線. 有線是指 USB 線, 無線是指 wifi 或