educoder SML程序设计题线下编译环境搭建
背景
最近《串并行數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)》的老師在educoder上布置了一些SML程序設(shè)計(jì)題,雖然網(wǎng)站上有在線編譯功能,但還是在線下編譯調(diào)試方便,特記錄編譯環(huán)境過程如下(我用的GVIM,但Notepad++、Visual Studio Code等編輯器可以類推)
第一步:安裝編譯器
下載Standard ML of New Jersey(https://www.smlnj.org/),下載完直接一路安裝就行,環(huán)境變量已經(jīng)自動(dòng)配好了。
第二步:配置GVIM
打開GVIM目錄下的配置文件_vimrc,加入
func Run()exec 'w'if &filetype == 'sml'exec '!sml < %'endif endfunc map <C-F5> :call Run() <CR>這段話的意思是按下Ctrl + F5之后GVIM保存當(dāng)前文件,之后如果當(dāng)前文件類型是SML則執(zhí)行命令“sml < 當(dāng)前sml文件”,把當(dāng)前sml文件的內(nèi)容重定向到sml交互命令行程序中執(zhí)行。
第三步:寫程序前的操作
首先復(fù)制網(wǎng)站題目編輯器給的輸入輸出模板到GVIM中,因?yàn)閟ml交互命令行程序的標(biāo)準(zhǔn)輸入已經(jīng)被我們的sml文件占了,所以標(biāo)準(zhǔn)讀入函數(shù)不能用,所以我們需要在程序的首行添加
val input = TextIO.openIn("input.txt");接著把程序中所有的TextIO.stdIn替換成input,之后在程序的相同目錄建立一個(gè)input.txt存儲(chǔ)樣例輸入,然后就可以在模板里的begin和end里面寫你自己的內(nèi)容了。交代碼時(shí)只要把程序里begin和end里面你寫的內(nèi)容貼到網(wǎng)站題目編輯器里面的begin和end之間就行了。
轉(zhuǎn)載于:https://www.cnblogs.com/YuanZiming/p/11568989.html
總結(jié)
以上是生活随笔為你收集整理的educoder SML程序设计题线下编译环境搭建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用 Navicat Premium 将
- 下一篇: django 创建APP 后找不到 te