的bson-erlang
module变成BSON编码的JSON像这样的:模式匹配上BSON元组
{ "salutation" : "hello",
"subject" : "world" }
到二郎元组是这样的:
{ salutation, <<"hello">>, subject, <<"world">> }
现在,服务器我试图说话可以把这些字段以任何顺序排列,并且可能有额外的字段在那里,我不在乎,所以 - 同样有效 - 我可能会看到这个:
{ subject, <<"world">>, salutation, <<"hello">>, reason, <<"nice day">> }
有没有什么办法可以指定一个函数模式,根据紧挨着它出现的那个提取特定的元组块?
如果我尝试以下时,出现“无功能的语句匹配......”因为元组的元数是错误的,因为我关心的领域是不是在正确的位置:
handle({ salutation, Salutation, _, _ }) -> ok.
这可能吗?有一个更好的方法吗?
我已经可以用'bson:at'做到了,尽管这很有用,谢谢。我想知道我是否可以用模式做到这一点? –
我认为如果你事先不知道它的长度,并且不想将它转换成其他类型的列表,就不可能匹配tupple的内部元素。 – Pascal