Home › フォーラム › AZ-Prologサポート掲示板 › PythonとPrologとの連携
- このトピックは空です。
-
投稿者投稿
-
-
2017/06/08 11:09 AM #58607Yゲスト
AZ-Prologに関して質問があり連絡させていただきました。
他インタフェースにおいてpyazというものがあると思うのですが
具体的にどのようにpythonとPrologを連携させているのかを教えてください。現在、pyazを用いてUnityと連携させることを目的としています。
そのようなやり方は可能なのでしょうか。以上です。よろしくお願いいたします。
-
2017/06/29 10:34 AM #58632motoゲスト
他システムインターフェースのご提供につきましては、商用ライセンスをご購入のお客様に限らせてご提供させていただいております。
pyazは、PythonからAZ-Prologをライブラリとして実行するためのモジュールです。
Unity上からPythonコードが実行できるのであれば、Unity上のpyazからAZ-Prologを
実行することは可能と思われます。(検証はしていません)参考までにpyazの実装例(pyaz ubuntu版)を下記に記述します。(pyazはwin64版も提供しています。)
前提条件として、Python 2.7、pyaz、AZ-Prolog 9.62 がインストールされていること。==============================
Pythonサンプルプログラム(test.py)
==============================
#!/usr/bin/python2.7
# coding: utf-8import load_azp_python
import pyazdef ex():
#pyaz codeの実行(AZ-Prologライブラリのロード)
r = pyaz.execute(“require(‘libazp_std_builtin’)”)#pyaz codeの実行(AZ-Prologライブラリのロード)
r = pyaz.execute(“require(‘clp’)”)#鶴亀算(AZ-Prologサンプルプログラムの鶴亀算を実行します。)
r = pyaz.execute(“write(‘turukame:’),turukame(T,K,14,5),write(‘T=’),write(T),write(‘ K=’),write(K),nl”)def main():
try:#AZ-Prologインタプリタ開始
pyaz.init()#サンプルプログラムをconsult
r = pyaz.execute(“consult(‘sample.pl’)”)
if (r == False):
pyaz.end()
return -1ex()
#Prologインタプリタ終了
pyaz.end()except pyaz.failError as e:
print(“e: {0}”.format(e))return 0
main()
==============================
AZ-Prologサンプルプログラム(sample.pl)
==============================
require(X):- dlib_require(X), !, write(‘Library Loaded: ‘), write(X), nl.
require(X):- dlib_get_error_str(S), name(E, S), write(E), nl, fail.%鶴亀算
turukame(Turu,Kame,Foot,Head):-
Turu in 0..Head,
Kame in 0..Head,
Foot #= Turu*2+Kame*4,
Head #= Turu+Kame.
-
-
投稿者投稿
- フォーラム「AZ-Prologサポート掲示板」には新規投稿および返信を追加できません。