Home › フォーラム › AZ-Prologサポート掲示板 › PythonとPrologとの連携 › 返信先: PythonとPrologとの連携
他システムインターフェースのご提供につきましては、商用ライセンスをご購入のお客様に限らせてご提供させていただいております。
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-8
import load_azp_python
import pyaz
def 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 -1
ex()
#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.