CyK*_*Kon 5 prolog operator-keyword
我不明白以下Prolog片段?什么":_:"意思?":="和之间有什么区别"="?
game_to_problematic_points(Game,Pid,Hid) :-
Point := Game/point,
Pid := Point@id,
Point = point:_:Hits.
append(_, [Hit1,_|_], Hits),
hit_out(Hit1),
Hid := Hit1@id.
hit_out(Hit) :-
X := Hit@x,
Y := Hit@y,
( X > 23.77 / 2
; X < -23.77 / 2
; Y > 10.97 / 2
; Y < -10.97 / 2).
Run Code Online (Sandbox Code Playgroud)
谢谢 :)
这似乎是XPCE代码.XPCE是本机SWI-Prolog面向对象的GUI库.您可以在以下位置找到PDF格式的手册:
http://www.swi-prolog.org/download/xpce/doc/userguide/userguide.pdf
的:=/2运算符用于分配(详见引导),而=/2是标准的Prolog统一操作者.
目标Point = point:_:Hits只是将变量Point与复合项统一起来point:_:Hits.如果您以规范形式编写此术语可能很清楚:
?- write_canonical(point:_:Hits).
:(point,:(_,_))
true.
Run Code Online (Sandbox Code Playgroud)
请注意,该术语使用标准:/2模块运算符两次.
| 归档时间: |
|
| 查看次数: |
365 次 |
| 最近记录: |