小编Bha*_*rat的帖子

在prolog中查找图形的节点之间的距离

我在Prolog中有一个由边和权重表示的图表:

connected(a,b,2).
connected(b,e,1).
connected(b,l,5).
connected(b,g,2).
connected(c,s,2).
connected(d,a,2).
connected(d,k,4).
connected(d,l,7).
connected(e,m,2).
Run Code Online (Sandbox Code Playgroud)

我需要编写一个带有节点和距离列表的谓词.

?- dist([a,b,e],X).
X=3
Run Code Online (Sandbox Code Playgroud)

我试着写它,但它非常笨拙并且没有给出预期的结果.

我的基本想法是:如果它是2个元素的列表,那么看看它们是否已连接.如果列表中有多于2个元素:查看第一个元素和第二个元素是否已连接,则递归查看下一个元素是否已连接.我已经为头部和尾部定义了2个辅助谓词.

dist([A, B], X) :-
    connected(A, B, X).
dist([A|B], Length) :-
    connected(A, hd(B,H,N), X),  % sees if A & next element in the list are connected
    dist(tl(B,H,N), Length1),    % recursive call with the list excluding element A
    Length is X + Length1.       

hd([H|T],H,Q).
tl([H|T],T,Q).
Run Code Online (Sandbox Code Playgroud)

我是Prolog的新手,我仍然想要理解语言语义.请建议一个有效的方法来解决这个问题.

graph prolog

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

基于通配符键查询嵌套的json

我有一个 PostgresQL 表,它将 JSON 存储为 jsonb:

 Column |  Type   |                         Modifiers                         | Storage  | Stats target | Description 
--------+---------+-----------------------------------------------------------+----------+--------------+-------------
 id     | integer | not null default nextval('history_id_seq'::regclass)      | plain    |              | 
 data   | jsonb   | not null                                                  | extended |              | 
Run Code Online (Sandbox Code Playgroud)

JSON 的结构:

{
    "20180201": {
        "foo": [{
            "name": "item1",
            "desc": "an item 1"
        }, {
            "name": "item2",
            "desc": "an item 2"
        }],
        "bar": [{
            "name": "item1",
            "desc": "an item 1"
        }, {
            "name": "item2",
            "desc": "an item 2"
        }] …
Run Code Online (Sandbox Code Playgroud)

postgresql jsonb

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

在django中将数据从表单发送到db

我有一个表单,我可以通过文本框输入文本.如何在点击提交时将这些数据输入数据库.

这是模板中表单的代码.

<form method="post" action="app/save_page">
<p>
Title:<input type="text" name="title"/>
</p>
<p>
Name:<input type="text" name="name"/>
</p>
<p>
Phone:<input type="text" name="phone"/>
</p>
<p>
Email:<input type="text" name="email"/>
</p>
<p>
<textarea name="description" rows=20 cols=60>
</textarea><br>
</p>
<input type="submit" value="Submit"/>
</form>
Run Code Online (Sandbox Code Playgroud)

我在views.py中有一个函数用于保存页面中的数据.但我不知道如何恰当地恭维它:

def save_page(request):
   title = request.POST["title"]
   name = request.POST["name"]
   phone = request.POST["phone"]
   email = request.POST["email"]
   description = request.POST["description"]
Run Code Online (Sandbox Code Playgroud)

现在我如何将这些发送到数据库?

我将什么放在views.py中以便这些数据进入数据库?那么如何打开数据库连接并将其放入数据库并保存呢?

我应该这样做:

connection=sqlite3.connect('app.db')
cursor= connection.cursor()
.....
.....
connection.commit()
connection.close()
Run Code Online (Sandbox Code Playgroud)

谢谢.

python django

0
推荐指数
1
解决办法
2784
查看次数

测量AFNetworking HTTP GET中的响应时间

我正在尝试使用AFNetworking下载文件时测量每个GET请求所花费的时间.我正在循环中重复下载文件.我遇到的问题是我测量总时间的方式,它给出了比实际更大的总时间.例如,对于50次下载,它提供72秒,但实际上它只花了大约5秒.我还怀疑5秒太低而不能下载50次(每个文件的下载大小为581 kb).

在这种情况下,如何有效地测量时间?我需要时间从请求被解雇到收到响应.

我下载文件的方法:

- (void) HTTPGetRequest
{    
    startTime = CACurrentMediaTime(); // Start measuring time

    AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:http://myServer];
    NSMutableURLRequest *request = [httpClient requestWithMethod:@"GET"
                                                            path:@"/download/Text581KB.txt"
                                                      parameters:nil];
    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
    [httpClient registerHTTPOperationClass:[AFHTTPRequestOperation class]];

    // Save downloaded file
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *path = [[paths objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"Text581KB.txt"]];
    operation.outputStream = [NSOutputStream outputStreamToFileAtPath:path append:NO];

    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
        double elapsedTime = (CACurrentMediaTime() - startTime); // Measuring time
        totalTime += elapsedTime; // Measuring total …
Run Code Online (Sandbox Code Playgroud)

nsoperationqueue ios afnetworking ios6

0
推荐指数
1
解决办法
4388
查看次数

去运行找不到包

我有基于样本项目设置文章。

这是我的目录结构:

goloang/
??? fooproject
    ??? src
       ??? foo
       ?   ??? foo.go
       ??? fooer
           ??? fooer.go
Run Code Online (Sandbox Code Playgroud)

我已经设置了 GOTPATH

$ echo $GOPATH
/Users/Bharat/Dev/golang/fooproject
Run Code Online (Sandbox Code Playgroud)

我正在尝试运行,foor.go但即使它存在于GOPATHie in引用的位置中,我也会收到找不到包错误src/foo

这是我运行它的方式:

$ pwd
/Users/Bharat/Dev/goloang/fooproject/src/fooer

$ go run fooer.go 
fooer.go:4:3: cannot find package "foo" in any of:
    /usr/local/go/src/foo (from $GOROOT)
    /Users/Bharat/Dev/golang/fooproject/src/foo (from $GOPATH)
Run Code Online (Sandbox Code Playgroud)

这些是文件内容。

src/foo/foo.go

package foo

import (
  "fmt"
)

func Bar() {
  fmt.Println("bar")
}
Run Code Online (Sandbox Code Playgroud)

src/fooer/fooer.go

package main

import (
  "foo"
)

func main() {
  foo.Bar() …
Run Code Online (Sandbox Code Playgroud)

packages go

0
推荐指数
1
解决办法
1754
查看次数