我想从过多的if/else中清除我的代码并转换为match/case。但是,我无法通过键访问值。我得到错误called match pattern must be a type
.
我代码:
match message.channel.id: #int type 123123
case channels.get("EventID") | channels.get("AnnouncmentsID"): #list of values int types {"EventID" : 123213} | {"PetsID : 234234}
#some code
case channels.get("DeathID"): #value int type {"DeathID" :123123}
if message.attachments:
#some code
###Same cases
case _:
pass
我尝试显式地改变int/string类型,直接使用dict[key]和dict.get('key')键。
您正在比较int
和list
。使用|
匹配匹配语句中的多个文字:
case channels.get("EventID") | channels.get("AnnouncmentsID") | channels.get("PetsID") | channels.get("Guild MomentsID"):
在文档中描述