首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模式匹配中的位大小非法

模式匹配中的位大小非法
EN

Stack Overflow用户
提问于 2015-04-07 19:09:03
回答 1查看 271关注 0票数 0

我有字段,必须检查它是否有这样的视图<<"{{name_of_field}}">>

我做了

代码语言:javascript
复制
try
    <<"{{", _/binary>> = FieldName
  catch
    _:_ ->
      throw(error)
  end,
  Size = byte_size(FieldName),
  try
    <<_:(Size-2)/binary, "}}">> = FieldName
  catch
    _:_ ->
      throw(error)
  end

并在匹配FieldName的尾部时得到"* 1:非法的位大小“

EN

回答 1

Stack Overflow用户

发布于 2015-04-07 19:26:24

看起来不错,我已经找到解决方案了

构造二进制文件时支持表达式(Size-2)。这绝对是一个模式匹配,因此如上所述:大小必须是常量表达式或变量。不是在运行时要计算的表达式。

所有应答http://erlang.org/pipermail/erlang-questions/2012-December/071145.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29490140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档