我已經得到Fsi.exe在Mono的Mac OS X(雪豹)上按預期工作。我只是注意到剪切和粘貼的一些奇怪的行爲,我想知道是否有人看到這一點。複製/粘貼到FSI的奇怪行爲在Mac上
我已經定義了以下別名FSI:
alias fsi='ledit mono ~/FSharp-1.9.7.8_2/bin/fsi.exe --gui-'
ledit是Ocaml程序編寫工具,它似乎正確地使鍵盤輸入工作 - 沒有它,FSI只是似乎永遠不會讀取輸入。要明白我的意思,儘量不Fsi.exe和ledit進入
let square x = x * x;;
沒有ledit,它只是似乎永遠不會解析輸入。我的意思是,輸入字符串後,它永遠不會回到「>」提示符。使用ledit,「>」提示立即返回。
當然的--gui-保持FSI從顯示有關System.Drawing中缺乏等
所以,這一切似乎工作的所有消息。奇怪的是,當我將代碼複製並粘貼到FSI中時,某些字符似乎一遍又一遍地重複。它似乎受到我粘貼的緩衝區大小的限制。當我粘貼小片段時,似乎沒有問題。但是,如果我粘貼更大的塊,這是奇怪的。
如果我做到以下幾點:
open System.IO;;
然後粘貼在FSI這個代碼片段:
let buildFileList basepath filespec =
seq {
yield! Directory.GetFiles(basepath, filespec, System.IO.SearchOption.AllDirectories)
}
這工作正常。但是,如果我複製並粘貼一個更大的代碼塊,它會重複該部分,直到收益率!一遍又一遍地。它似乎與fsi試圖在代碼被粘貼時解析代碼有關,因爲粘貼相同的代碼會導致解析錯誤(如FS0010),當它粘貼到一個長塊的末尾時,但不會導致錯誤它是孤立的。
如果我#加載整個文件,它解析正確,所以我認爲我的代碼是好的。
複製/粘貼中的這種奇怪現象似乎在命令行上有或沒有ledit的情況下發生。我不介意自己研究這個問題,但我對我應該從哪裏開始處理這件事感到困惑。我從GVim複製,如果這有所作爲,但任何人有任何想法,我可以繼續試圖隔離這種奇怪的行爲的原因?我想我可以先採取額外的步驟複製到TextEdit,然後嘗試複製到fsi,但除此之外的任何想法?
至此底線:是否有人看到過這種奇怪的行爲?如果沒有,對於我如何着手試圖隔離這種奇怪行爲的原因有什麼建議?
在http:// cs。hubfs.net/forums/thread/12999.aspx – Brian 2010-01-30 18:34:25
謝謝Brian。我意識到這是一個狹窄的問題,但我在兩個地方張貼,希望得到我接下來可能檢查的一些想法。這有點煩人,但不是世界末日。 – 2010-01-30 20:32:58