F# - 绝对路径名格式不正确

问题描述

我遇到了一个让我很困惑的问题。我想创建一个小类来将位图转换为像素数组。位图是通过绝对路径名创建的,我输入的路径名(在Windows10操作系统上)是

let path = "D:\Dev\images\test"

但是,我怀疑这发生在编译时,字符串的格式如下

"D:\\Dev\\images\test"

当然它会立即终止程序。我 99.9% 确定这是我忘记的 IDE 正在发生的事情。在路径名的开头添加 @ 或双 \ 似乎没有任何作用。我完全不知道该怎么做。

编辑:我表达的很差。通过“在路径名的开头添加 @ 或双 \ 似乎没有任何作用”我的意思是我尝试在字符串的开头添加 @ : @"D:\Dev\images\test""D:\\Dev\\images\\test" 都产生上面显示的相同结果,除了 D:\\Dev\\images\\test 产生其自身的精确副本,但根据 Win10 标准它仍然无效。 最后,引发的错误一个通用的“无效参数”。没有任何代码修改路径值。它实际上是 main 中的第一条指令。

let main _ =
let path = Defaults.img_folder + "\\test"   //img_folder = "D:\\Dev\\images"
let f = new Bitmap(path)    //throws "invalid parameter" error here

let spr_img : pixel[,] =  (Array2D.init 
                            f.Width 
                            f.Height 
                            (fun x y -> new pixel(Defaults.full_cover,ConsoleColor_from_Color(f.GetPixel(x,y)),Defaults.backgroundcolor)) ) 

let eng = new engine(w,h)
eng.create_and_register_sprite(new image(spr_img),20,0)
eng.loop_on_key(
    {
        speed = 0.
        positionX = 20. 
        positionY = 20.
        positionZ = 20.
        quitting  = false 
    },updater   //external function
)
0

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)