【请教】JL如何改写Python中带有@的语句以及py函数?


#1

如题,谢谢老师指点!

using PyCall
@pyimport  itchat

#问题1:下面这句以@开头的py代码该如何改写呢?
@itchat.msg_register(itchat.content.TEXT)

#问题2:下面这个py函数该如何改写呢?
def text_reply(msg):
    return msg.text

itchat.auto_login()
itchat.run()


#2

@ 开头的是 Python 的装饰器:Python装饰器和符号@

我感觉 julia 的 macro 应该能模仿它。但太菜不会。
以下是一些相关的讨论:


itchat 搜了一下是 Python 写的微信的库。感觉没有必要用 julia。

如果一时解决不了以上问题,又实在想用,可以:

  • 在 python 那边做一些初始化/接收/发送的工作,也就是和 itchat 交互的都在那边做,让后数据处理用 julia 做就行。通信看着办
  • 或者把这些 api 再包一包,让它用的 python 特性少一些。(让你好在 julia 里调用)
    (毕竟没有中间件解决不了的事情。

#3

学习了,感谢回复!
期待其他老师用JL改写一下,以便更多的人把它作为一个学习案例!