一、列表、字符串相关
1、场景描述
当下,Erlang和php交互,用mochiweb和ibrowse的方式比较多,ibrowse 需要发送url给php,url为字符串。若需要string:concat() 的变量不为string类型,就需要进行转化。前提是,Erlang处理中,多为二进制。
2、问题
1> B = <<"test">>.
<<"test">>
2> S = binary_to_term(B).
** exception error: bad argument
in function binary_to_term/1
called as binary_to_term(<<"test">>)
上例,视图将binary类型的数据转换成term数据,出现 bad argument 错误,悲剧。
3> L = binary_to_list(B).
"test"
貌似是可以了,但是,使用string:concat("my", L) 时会再一次发生悲剧,这个时候的L是list类型,而string:concat 要求的参数是string类型,所以当然会悲剧。
3、解决
1> B = <<"test">>.
<<"test">>
2> L = binary_to_list(B).
"test"
3> S = lists:flatten(L).
"test"
这个时候,再去看看string:concat("my", S) ,OK,搞定。
4、总结
http://www.erlang.org/doc/man/lists.html#flatten-1
flatten(DeepList) -> List
Types:
DeepList = [term() | DeepList]
List = [term()]
Returns a flattened version of DeepList.
分享到:
相关推荐
标题中的"erlang-23.2.3-1.el7.x86_64.rpm"和"erlang-23.2.1-1.el7.x86_64.rpm.rar"代表了两个不同的Erlang版本。`.rpm`文件是用于Red Hat Enterprise Linux (RHEL) 和其衍生发行版如CentOS的软件包管理格式,而`....
在标题"erlang-22.3-1.el7.x86_64.rpm"中,我们可以解读出几个关键信息: 1. **版本号**:22.3-1表示这是Erlang的一个特定版本,22.3是主版本号和次版本号,而-1可能代表修订或更新次数。 2. **操作系统兼容性**:...
esl-erlang_25.0.3-1_centos_7_amd64.rpm erlang_25.0.3-1 rpm用于rabitmq基础环境安装
erlang-21.3-1.el7.x86_64.rpm rabbitmq基础语言环境。
在标题中的"erlang-18.3-1.el7.centos.x86_64.zip",我们看到的是Erlang的一个特定版本,18.3,针对64位的CentOS 7操作系统(el7)的安装包。这个版本的Erlang包含了必要的组件和服务,使得它能够在CentOS 7上稳定...
erlang_23.0.2-1版本 centos7 64bit esl-erlang_23.0.2-1_centos_7_amd64.rpm
erlang-24.0.3-1.el8.x86_64.rpm资源
erlang-24.3.3-1.el9.x86_64.rpm centos
erlang-19.0.4-1.el7.centos.x86_64.rpm ,官网的正式包
在标签中,"erlang-19.0.4 erlang-19.0.4-1."可能是为了强调Erlang的版本信息,19.0.4-1可能是特定构建或者修订号,但具体含义可能依赖于发布者。 压缩包内的"erlang-19.0.4-1.el7.centos.x86_64.rpm"是RPM(Red ...
erlang-20.3-1.el7.centos.x86_64.rpm
esl-erlang_24.2.1-1_centos_7_amd64.rpm
erlang-xmerl-22.3-1.el7.x86_64.rpm,rabbitMQ安装需要依赖此环境。Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和通信应用程序。
erlang-23.2.1-1.el7.x86_64.rpm
esl-erlang_17.3-1~centos~6_amd64.rpm esl-erlang_17.3-1~centos~6_amd64.rpm
erlang-21.3.1-1.el7.x86_64.rpm
rabbitMQ安装需要依赖erlang环境,这里提供centOS erlang21.3.1版本免费下载,适用于rabbitMQ对应版本
erlang-xmerl-23.0.3-1.el7.x86_64.rpm,rabbitMQ安装需要依赖此环境。Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和通信应用程序。
erlang-erts-19.3.6.4-1.el7.x86_64.rpm