我无法理解Scheme中收集器函数的使用.我正在使用"The Little Schemer"一书(Daniel P. Friedman和Matthias Felleisen).一个有一些解释的综合例子对我有很大帮助.使用收集器函数的函数示例如下:
(define identity
(lambda (l col)
(cond
((null? l) (col '()))
(else (identity
(cdr l)
(lambda (newl)
(col (cons (car l) newl))))))))
Run Code Online (Sandbox Code Playgroud)
......有一个例子叫做存在(identity '(a b c) self)
和self-function
存在(define self (lambda (x) x))
.该identity
函数返回给定的列表l
,因此给定调用的输出将是(a b c)
.使用的确切语言是R5RS Legacy语言.
我坚持以下Prolog问题:给定图形的边缘没有周期作为事实.例如:
edge(a, b).
edge(b, c).
edge(c, d).
edge(c, e).
...
Run Code Online (Sandbox Code Playgroud)
我必须编写一个谓词来测试顶点X和Y之间是否有两条不同的路径.例如,two_paths(a, c).
如果从节点a到节点c有两条不同的路径,则调用应该返回true.我知道如何检查两个顶点之间是否有路径:
path(X, Y) :- edge(X, Y).
path(X, Y) :- edge(X, Z), path(Z, Y).
Run Code Online (Sandbox Code Playgroud)
但是我该怎么做才能检查两条不同的路径呢?非常感谢您的帮助.
我正在尝试通过 Firebase 向某个客户端发送消息。这是我当前的(测试)代码:
import json
import requests
import urllib
def send_message():
server = "https://fcm.googleapis.com/fcm/send"
api_key = "xxx"
user_token = "xxx"
headers = {'Content-Type': 'application/json', 'Authorization': 'key=' + api_key}
data = {"type": "dataUpdate"}
payload = {"data": data, "to": user_token}
payload = json.dumps(payload)
res = requests.post(server, headers=headers, json=payload)
return res
Run Code Online (Sandbox Code Playgroud)
这会产生以下错误,由 Firebase 返回:
JSON_PARSING_ERROR: Unexpected token END OF FILE at position 0.
Run Code Online (Sandbox Code Playgroud)
发送到 Firebase 的以下 JSON 对我来说似乎是正确的:
{
"data": {
"type":"dataUpdate"
},
"to":"xxx"
}
Run Code Online (Sandbox Code Playgroud)
这是Firebase 文档中描述的格式。知道为什么 Firebase 不接受给定的数据吗?