小编Pet*_* D.的帖子

选择在序言中排序

我是Prolog的新手,正在尝试对选择进行排序。这是我所拥有的:

ssort([],[]).
ssort([M|S],L):-min(M,L),remove(M,L,N),ssort(S,N).

min(M,[M]).
min(M,[H,T]):-min(N,T),min2(M,H,N).

min2(A,A,B):-less(A,B).
min2(B,A,B):-not(less(A,B)).

less(A,B):-(A<B).

append([],B,B).
append([H|A],B,[H|AB]):-append(A,B,AB).

remove(X,L,N):-append(A,[X|B],L),append(A,B,N).
Run Code Online (Sandbox Code Playgroud)

但是当我尝试例如

ssort(S,[5,3,1]),write(S).
Run Code Online (Sandbox Code Playgroud)

false无论如何,我都能理解。您能告诉我如何实际排序列表并将结果写入其中S吗?

prolog program-slicing

3
推荐指数
1
解决办法
1346
查看次数

Node.js MongoDB collection.find()。toArray不返回任何内容

尽管我发现了与我类似的问题,但我无法独自解决问题。

在我的“ ../models/user”模型中,我想找到所有用户并将其放入数组,然后将该数组返回到控制器(我将在其中使用信息)。

这是我的代码:

var mongoDatabase = require('../db');
var database = mongoDatabase.getDb();

function find() {
    var test;
    database.collection("customers").find().toArray( function(err, docs) {
        if(err) throw err;
        console.log(docs); //works fine
         //I'd like to return docs array to the caller
        test = docs;
    });

    console.log(test); //test is undefined  
}

module.exports = {
    find
};
Run Code Online (Sandbox Code Playgroud)

我还注意到,“ console.log(test)”位于“ console.log(docs)”之前。我尝试将'docs'参数作为函数参数传递给'find',但没有结果。

javascript mongodb node.js

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

标签 统计

javascript ×1

mongodb ×1

node.js ×1

program-slicing ×1

prolog ×1