2011-03-18 58 views
7

我從來沒有在Windows計算機上使用過SML(以前在帶有emacs的unix計算機上)。在sml中使用操作(其中是當前目錄smlnj窗口)

對於我來說,我在sml環境中找不到當前目錄。如果我試圖:使用「filename.sml」它引發異常..我找不到我的文件放置在哪裏..

btw文件是用notepad ++編寫的,只是名爲w/a .sml擴展名。

回答

9

當前工作目錄將從您開始SML解釋器的位置開始。如果你的桌面上有一個快捷方式,那麼我會提醒你可以在快捷方式的屬性中設置CWD(我不是Windows用戶),我會默認它是你有SML的目錄/新澤西州安裝。

如果從命令行啓動sml解釋器,那麼當您啓動解釋器時,CWD就是您所在的目錄。

你可以得到解釋輸出其CWD具有以下command

OS.FileSys.getDir() 

而且你還可以改變CWD到另一個工作目錄與OS.FileSys.chDir

然而easyer試圖用use

更新「裝入」 SML文件時只使用絕對路徑是的。

很容易:你可以做以下

- OS.FileSys.chDir("/tmp"); (* Go to the tmp directory *) 
val it =() : unit 
- OS.FileSys.getDir();  (* Verify that we did go to the tmp directory *) 
val it = "/tmp" : string 
- OS.FileSys.chDir("/home/jesper"); (* Go to my home directory *) 
val it =() : unit 
- OS.FileSys.getDir();    (* Verify where we did go. *) 
val it = "/home/jesper" : string 

在你明明有逃脫退格Windows文件系統。下面的代碼應該可以工作,但我無法測試它,因爲我沒有窗口。

OS.FileSys.chDir("C:\\Users\\username\\Desktop"); 

在你寫的評論中,你忘了逃避最後兩個退格。

+0

說我想將目錄從「C:\\ Windows \\ system.32」更改爲「C:\\ Users \\ username \ Desktop \」。命令是什麼?如果我把它一行一行地作爲OS.FileSys.chDir(「..」)它可以工作..但我只能讓它按級別逐行更改目錄級別。 – DJPlayer 2011-03-18 13:25:55

+0

Se更新.. – 2011-03-19 21:13:00

+0

我們如何使更改永久? – coderVishal 2014-10-04 11:24:13

相關問題