[Next]PoP本体 [Previous]例外 [Up]リファレンス [Top]

PoPオブジェクト

PoPオブジェクトは,共通して以下のメソッドを持ちます.
type()
型を取得します. 返される値は,TYPE_*のいずれかです.

整数

生成方法
Integer(value)
  value:数値
注意:valueに浮動小数点数が指定されたときは,整数化されます.

メソッド
value()
値を取得します.

浮動小数点数

生成方法
Float(value)
  value:数値
注意:valueに整数が指定されたときは,浮動小数点数化されます.

メソッド
value()
値を取得します.

文字列

生成方法
String(value)
  value:文字列

メソッド
value()
値を取得します.

アトム

生成方法
Atom(name, x1, x2, .. , xi, xj, .. , xn)
Atom(name, x1, x2, .. , xi, args=(xj, .. , xn))
Atom(name, x1, x2, .. , xi, args=[xj, .. , xn])
  name:文字列
  xi:PoPオブジェクト,数値,文字列,(Pythonの)リスト
注意:引数は,暗黙的にPoPオブジェクトに変換されます.

メソッド
name()
名前を取得します.
args()
引数のリストを取得します.

NIL

生成方法
NILを表わすオブジェクトは,PoPをimportした時点でNILという名前で生成されています. これを使ってください.

メソッド
固有のメソッドはありません.

リスト

生成方法
List(x1, x2, .. , xn)
List(items=(x1, x2, .. , xn))
List(items=[x1, x2, .. , xn])
List(x1, .. , xm, tail=xn)
List(items=(x1, .. , xm), tail=xn)
List(items=[x1, .. , xm], tail=xn)
  xi:PoPオブジェクト,数値,文字列,(Pythonの)リスト
注意:尾部に指定できるのは,NIL,Listのインスタンス,リスト,変数のいずれかです.
注意:引数は,暗黙的にPoPオブジェクトに変換されます.

メソッド
item()
頭部を取得します.
next()
尾部を取得します.

生成方法
Clause(head, x1, x2, .. , xi, xj, .. , xn)
Clause(head, x1, x2, .. , xi, body=(xj, .. , xn))
Clause(head, x1, x2, .. , xi, body=[xj, .. , xn])
Clause(head, body=callable_obj)
  xi:PoPオブジェクト,数値,文字列,(Pythonの)リスト
  callable_obj:コールバック(呼出し可能オブジェクト)
注意:引数は暗黙的にPoPオブジェクトに変換されます.
注意:コールバックは,単一化時には無視されます. また,節を文字列化する際には,前に‘*’が付与されます.

メソッド
head()
頭部を取得します.
body()
本体を取得します.
is_query()
質問か否かを判定します.
is_fact()
事実か否かを判定します.
is_rule()
規則か否かを判定します.
is_rule_or_fact()
規則あるいは事実であるか否かを判定します.

変数

生成方法
Variable(name)
Variable()
  name:文字列
注意:nameに空文字列を指定した場合,あるいは,nameを省略した場合は,無名変数となります.
注意:Variableオブジェクトを文字列化すると,名前の前に下線が付与されます.

メソッド
name()
名前を取得します.

[Next]PoP本体 [Previous]例外 [Up]リファレンス [Top]