当我们使用带有cut运算符的append时会出现什么问题?
append2([],L,L):-!.
append2([H|T],L,[H|TL]):-append2(T,L,TL).
Run Code Online (Sandbox Code Playgroud)
我尝试了几种不同的输入,但它总是成功的.
?- append2([1,2],[5],L).
L = [1, 2, 5].
?- append2([1,2],[1,2],L).
L = [1, 2, 1, 2].
?- append2([],[1,2],L).
L = [1, 2].
?- append2([1,2],[],L).
L = [1, 2].
Run Code Online (Sandbox Code Playgroud) 我已经设置JAVA_HOME正确,当我echo它,我看到正确的值:
$ echo $JAVA_HOME
/usr/lib/jvm/java-6-openjdk-amd64/
Run Code Online (Sandbox Code Playgroud)
我还把JAVA_HOME值放在hadoop-env.sh上.
$ grep JAVA_HOME conf/hadoop-env.sh
# The only required environment variable is JAVA_HOME. All others are
# set JAVA_HOME in this file, so that it is correctly defined on
export JAVA_HOME="/usr/lib/jvm/java-6-openjdk-amd64/"
Run Code Online (Sandbox Code Playgroud)
尽管如此,hadoop仍然显示JAVA_HOME变量完全不同.我不知道它在哪里获得这个价值.有什么建议?
$ hadoop noname -format
Warning: $HADOOP_HOME is deprecated.
/usr/bin/hadoop: line 320: /usr/lib/jvm/java-6-sun/bin/java: No such file or directory
/usr/bin/hadoop: line 390: /usr/lib/jvm/java-6-sun/bin/java: No such file or directory
Run Code Online (Sandbox Code Playgroud) 什么是Herbrand宇宙,Herbrand Base和Herbrand二叉树模型:
binary_tree(empty).
binary_tree(tree(Left,Element,Right)) :-
binary_tree(Left),
binary_tree(Right).
Run Code Online (Sandbox Code Playgroud) 我想创建字典,其值以0开头.但是,在我创建字典值后有所改变.我做错了什么?
>>> sample={'first_value':0123456}
>>> sample
{'first_value': 42798}
Run Code Online (Sandbox Code Playgroud) 跟踪prolog程序时如何走第二步?例如,我想跟踪以下简单程序:
length1([],0).
length1([_X|Xs],N):- length1(Xs,N1), N is N1+1.
Run Code Online (Sandbox Code Playgroud)
我跟踪程序:
?- trace,length([1,2,3],N).
Call: (7) length([1, 2, 3], _G231) ?
Exit: (7) length([1, 2, 3], 3) ? creep
N = 3.
Run Code Online (Sandbox Code Playgroud)
但正如我们所见,它立即给出答案.但我认为它应该像Call:(8) ... Call:(9) ...我做错了什么?