Swi-Prolog:未定义的程序:random_permutation / 2

时间:2012-04-30 20:21:56

标签: random prolog swi-prolog

为什么这个谓词random_permutation不起作用?

http://www.swi-prolog.org/pldoc/doc_for?object=random_permutation/2

?- use_module(library(random)).
%  library(pairs) compiled into pairs 0.00 sec, 8,880 bytes
% library(random) compiled into random 0.04 sec, 333,032 bytes
true.

?- L=[1,2,3,4,5], random_permutation(L,P).
ERROR: toplevel: Undefined procedure: random_permutation/2 (DWIM could not correct goal)

我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:0)

请仔细检查您使用的版本。我使用的是5.10.5,库的大小似乎不匹配。

3 ?- use_module(library(random)).
%  library(pairs) compiled into pairs 0.00 sec, 4,568 bytes
% library(random) compiled into random 0.03 sec, 46,624 bytes
true.

4 ?- L=[1,2,3,4,5], random_permutation(L,K).
L = [1, 2, 3, 4, 5],
K = [1, 3, 2, 4, 5].