0

最近我一直在尝试用 Discord.py 在 Hy 中编写一个简单的机器人。在 Discord.py 中,我们可以编写如下命令将最后一个参数转换为包含空格的完整字符串:

@commands.command(description="", help="")
async def say(self, ctx, level, *, remains):
    ...

但是,如果我在 Hy 中将其写为:

#@((commands.command :description "" :help "")
        (defn/a say [self ctx level * remains]
            ...))

它将抱怨缺少必需的参数“文本”。defn更诡异的是, Hy官网部分的示例代码:

(defn compare [a b * keyfn [reverse False]]
  (setv result (keyfn a b))
  (if (not reverse)
    result
    (- result)))

甚至在hy --spy. 我用错了还是有正确的方法来处理它?

4

1 回答 1

0

(defn compare…)为我工作。听起来您正在运行的 Hy 版本与您正在阅读的文档版本不匹配。

于 2021-06-14T12:03:52.363 回答