我正在尝试使用Python编写discord机器人,我遇到了这个机器人.
import discord
import asyncio
import random
client = discord.Client()
inEmail = input("Email:")
inPassword = input("Passwd:")
async def background_loop():
await client.wait_until_ready()
while not client.is_closed:
channel = client.get_channel("************")
messages = ["Hello!", "How are you doing?", "Testing!!"]
await client.send_message(channel, random.choice(messages))
await asyncio.sleep(120)
client.loop.create_task(background_loop())
client.run(inEmail, inPassword)
Run Code Online (Sandbox Code Playgroud)
然而,当我试图运行它时,我收到了SyntaxError:
File "1.py", line 7
async def background_loop():
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
这是为什么?我测试之前从未收到过.
Solidity 最近的变化将回退函数格式从只是 function() 更改为 fallback(),这对于初学者来说非常好理解发生了什么,但是我有一个问题是关于编译器在我实现时给我的建议后备。
例如,我项目中的一段代码:
pragma solidity ^0.6.1;
contract payment{
mapping(address => uint) _balance;
fallback() payable external {
_balance[msg.sender] += msg.value;
}
}
Run Code Online (Sandbox Code Playgroud)
一切正常,但编译器建议:
Warning: This contract has a payable fallback function, but no receive ether function.
Consider adding a receive ether function.
Run Code Online (Sandbox Code Playgroud)
接收以太函数是什么意思?我试着查了一下,我能找到的很多例子只是另一个后备函数。
我使用的是 0.6.1+commit.e6f7d5a4 版本
在处理未知字符串时使用eval()似乎很危险,这正是我项目的一部分正在做的。
对于我的项目,我有一个字符串,称为:
stringAsByte = "b'a'"
Run Code Online (Sandbox Code Playgroud)
我尝试执行以下操作来直接转换该字符串(不使用 eval):
byteRepresentation = str.encode(stringAsByte)
print(byteRepresentation) # prints b"b'a'"
Run Code Online (Sandbox Code Playgroud)
显然,这不起作用,所以不要这样做:
byteRepresentation = eval(stringAsByte) # Uses eval!
print(byteRepresentation) # prints b'a'
Run Code Online (Sandbox Code Playgroud)
还有另一种方法可以获得输出b'a'吗?
C 中存在一些代码,用于calloc()创建有效的向量。它看起来像这样:
uint64_t *reverseOrder = (uint64_t *)calloc((size + 1), sizeof(uint64_t));
Run Code Online (Sandbox Code Playgroud)
我想用 C++ 语法和向量来模仿这种行为,以便它实际上具有相同的效果。我可以使用以下语法吗?
std::vector<uint64_t> reverseOrder(size + 1, 0);
Run Code Online (Sandbox Code Playgroud)
我知道calloc()实际上会遍历内存并将它们设置为 0,所以我想知道是否是这种情况。
不久前有一篇关于 XOR 过滤器的精彩文章:什么是 XOR 过滤器?
有人可以解释一下二元保险丝滤波器吗?它在结构上有何不同?做出这样选择的理由是什么?我试图阅读这篇论文,但迷失在二进制熔丝的具体细节中。它与异或相比如何?为什么它更小更快?
python ×2
async-await ×1
bloom-filter ×1
byte ×1
c ×1
c++ ×1
constructor ×1
discord ×1
discord.py ×1
eval ×1
python-3.x ×1
solidity ×1
stdvector ×1
syntax ×1
xor ×1