小编Ahm*_*tar的帖子

如何在Linux或Windows中打开.sketch文件?

我有一个Android草图模板作为.sketch文件。不幸的是,我不能在Linux或Windows上使用它,但是Sketch程序仅适用于Mac OS。如何.sketch在Linux或Windows中打开文件?

linux windows macos android sketch-3

6
推荐指数
2
解决办法
6403
查看次数

SWI-Prolog:如何使用我自己的谓词作为 when/2 中的条件

我正在尝试实现一个可以与java交互的Prolog程序。为此,我使用 JPL 作为 Prolog/Java 接口。

我正在寻找一种机制,允许我在条件成立时自动执行操作。

条件也由谓词表示。我尝试使用预定义谓词“when/2”,问题是正如文档中所指定的条件必须是以下之一:

  • nonvar(X)
  • ground(X)
  • ?=(X, Y)
  • (Cond1, Cond2)
  • (Cond2; Cond2)

最后两个条件似乎是我应该使用的条件,但我无法使它们发挥作用。

我需要改变什么来创造我自己的条件?

J在此处将其视为本地 Prolog 变量。

:- use_module(library(jpl)).
:- use_module(library(when)).


should_engage(J) :-
  jpl_get(J, 'shouldEngage', V),
  V==true,
  jpl_get(J, 'players', P),
  jpl_call(P, 'canSeeEnemies', [], R),
  R==true,
  jpl_get(J, 'weaponry', W),
  jpl_call(W, 'hasLoadedWeapon', [], R),
  R==true.


call_java(J) :-
  jpl_call(J, 'stateEngage', [], R).


when(should_engage(X), call_java(X)).
Run Code Online (Sandbox Code Playgroud)

prolog prolog-coroutining

2
推荐指数
1
解决办法
474
查看次数

标签 统计

android ×1

linux ×1

macos ×1

prolog ×1

prolog-coroutining ×1

sketch-3 ×1

windows ×1