OCaml - 访问绝对路径

OCaml - Accessing absolute paths

我正在开发一个应用程序,我使用 lablqt 在 QtQuick 中实现 GUI,在 OCaml 中实现逻辑。在 QtQuick 中,我使用 FileDialog 来 select 一个文件。我需要在我的 OCaml 程序中使用 FileDialog returns 的路径,但每次执行此操作时都会出错。

FileDialog返回的路径是file:///home/thomas/Desktop/Sudoku/example.txt 这是正确的路径,但是当我尝试在 OCaml 中访问此文件时,出现以下错误:

Fatal error: exception Sys_error("file:///home/thomas/Desktop/Sudoku/example.txt: No such file or directory")

如何将从 FileDialog 获取的路径转换为可在 OCaml 中使用的路径?

您需要从返回的 url 中删除协议部分,即此 file://。您可以手动执行此操作,也可以使用 uri 库来为您处理。