educoder SML程序設計題線下編譯環境搭建


背景

最近《串並行數據結構與算法設計》的老師在educoder上布置了一些SML程序設計題,雖然網站上有在線編譯功能,但還是在線下編譯調試方便,特記錄編譯環境過程如下(我用的GVIM,但Notepad++、Visual Studio Code等編輯器可以類推)

第一步:安裝編譯器

下載Standard ML of New Jersey(https://www.smlnj.org/),下載完直接一路安裝就行,環境變量已經自動配好了。

第二步:配置GVIM

打開GVIM目錄下的配置文件_vimrc,加入

func Run()
    exec 'w'
    if &filetype == 'sml'
        exec '!sml < %'
    endif
endfunc
map <C-F5> :call Run() <CR>

這段話的意思是按下Ctrl + F5之后GVIM保存當前文件,之后如果當前文件類型是SML則執行命令“sml < 當前sml文件”,把當前sml文件的內容重定向到sml交互命令行程序中執行。

第三步:寫程序前的操作

首先復制網站題目編輯器給的輸入輸出模板到GVIM中,因為sml交互命令行程序的標准輸入已經被我們的sml文件占了,所以標准讀入函數不能用,所以我們需要在程序的首行添加

val input = TextIO.openIn("input.txt");

接着把程序中所有的TextIO.stdIn替換成input,之后在程序的相同目錄建立一個input.txt存儲樣例輸入,然后就可以在模板里的begin和end里面寫你自己的內容了。交代碼時只要把程序里begin和end里面你寫的內容貼到網站題目編輯器里面的begin和end之間就行了。

試一下CSDN多久會復制我這篇文章。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM