是否可以从 C# 运行 prolog?
Posted
技术标签:
【中文标题】是否可以从 C# 运行 prolog?【英文标题】:Is it possible to run prolog from C#? 【发布时间】:2015-09-15 04:34:47 【问题描述】:我想从 C# 调用一个 prolog 程序。那可能吗? 我通过 c# 处理用户输入并写入文件。然后我想调用一个使用该文件的 prolog 程序,然后我想通过 c# 向用户显示文件的内容。
【问题讨论】:
【参考方案1】:是的,如果您不想将两个程序链接到单个二进制文件,而只是让一个 (C#) 调用另一个 (prolog),则可以这样做。对于任何其他语言,您也可以在您的计算机上运行。
如果你的数据交换基于文件,你需要一个文件从 C#->prolog 发送数据,也许还有第二个文件来返回结果 (prolog->C#)
你会在 SO 上找到很多让 C# 调用外部程序的示例(例如 Launching an application (.EXE) from C#?)
如果 prolog 不允许您在调用它时将文件名作为参数传递,您将不得不使用固定文件名:
C#写一个request.txt C#调用prolog程序 Prolog 读取 request.txt 并创建 response.txt
Reading from files 应该被语言覆盖,这取决于“方言”,即使reading command line parameters 也应该是。
【讨论】:
问题是我无法通过 process.arguments 将参数传递给 prolog shell。 @signal107 我不太了解 prolog 或您使用的特定 prolog 版本,但应该有解决此问题的方法。请看看我上次的编辑。【参考方案2】:如果你使用 SWI-Prolog,你应该 google SWI-Prolog interface to C# and F#
【讨论】:
以上是关于是否可以从 C# 运行 prolog?的主要内容,如果未能解决你的问题,请参考以下文章