我有一个main.jl打印简单的“Hello world”字符串的脚本:
println("Hello world!")
但是,当尝试通过终端运行脚本时,如下所示:
julia> main.jl
我收到错误:
ERROR: type #main has no field jl
我在网上可以找到的所有信息都建议像我一样调用脚本来运行它。我确信我位于正确的目录中 - 我做错了什么?
这可能是一个非常基本的问题,但这是我第一次使用 slurm-cluster,我不想搞砸任何事情(管理员正在休假)。
我有一个使用“导入火炬”的 python 脚本。当我运行“sbatch myscript.sh”时,我得到输出“ImportError: No module named 'torch'”。我在节点内使用pip下载火炬包,但下载后我仍然收到importError。
我如何使我的进口工作?我应该从 github 下载包的源代码并将它们上传到我在 slurm 上的主目录吗?管理员给我的指南没有包含这个场景的信息,我错过了什么?
我有以下事实:
loves(andy, julia).
loves(andrew, maria).
loves(bob, sofia).
loved(juila).
loved(maria).
loved(sofia).
Run Code Online (Sandbox Code Playgroud)
而我想有两个谓词:
do_love(X, Y) :- ...
is_loved(X, Y) :- ...
Run Code Online (Sandbox Code Playgroud)
它返回 Y 作为人名,X 作为事实本身。对于loved这一事实,我写道:
is_loved(X, Y) :- X = loved(Y), X.
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,返回:
is_loved(X,Y).
X = loved(juila),
Y = juila ;
X = loved(maria),
Y = maria ;
X = loved(sofia),
Y = sofia.
Run Code Online (Sandbox Code Playgroud)
但是,当我loves以类似的方式编写事实的谓词时:
do_love(X, Y) :- X = loves(X, Y), X.
Run Code Online (Sandbox Code Playgroud)
它为查询返回 false:
do_love(X,Y).
false.
Run Code Online (Sandbox Code Playgroud)
我是 prolog 的新手,真的不明白为什么会这样。为什么查询is_loved工作,而一个do_love没有?