如何通过变量指定位串的类型
Erlang 不允许我这样做:
Type = bitstring.
<<FirstPart:8/Type, Rest/bitstring>> = some_binary.
尽管它允许我这样做:
Size = 8.
<<FirstPart:Size/bitstring, Rest/bitstring>> = some_binary.
因此,在位字符串表达式中,虽然我可以通过变量传递大小,但它不允许我通过变量传递类型。有什么解决办法吗?
Erlang doesn't let me do:
Type = bitstring.
<<FirstPart:8/Type, Rest/bitstring>> = some_binary.
although it lets me do:
Size = 8.
<<FirstPart:Size/bitstring, Rest/bitstring>> = some_binary.
So, in bit string expressions, while I can pass the size through a variable, It doesnt let me pass the type through a variable. Is there any solution?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 case 语句作为解决方法:
You can use a case statement as a workaround:
我在这里没有看到任何特殊之处,使得条件处理不同“类型”的编码变得不方便。
I do not see anything extraordinary here that makes a conditional inconvenient for handling the different "types" of encoding.