一、列表、字符串相关
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.
分享到:
相关推荐
esl-erlang_25.0.3-1_centos_7_amd64.rpm erlang_25.0.3-1 rpm用于rabitmq基础环境安装
rabbitmq-server-3.8.17-1.el8.noarch.rpm可用的erlang
erlang_23.0.2-1版本 centos7 64bit esl-erlang_23.0.2-1_centos_7_amd64.rpm
erlang-19.0.4-1.el7.centos.x86_64.rpm ,官网的正式包
erlang-24.3.3-1.el9.x86_64.rpm centos
该软件版本是erlang-19.0.4-1.el6.x86_64,收藏与此,希望能帮助到有用的人.
esl-erlang_24.2.1-1_centos_7_amd64.rpm
erlang-21.3-1.el7.x86_64.rpm rabbitmq基础语言环境。
在CentOS7上能满足RabbitMQ版本需要的erlang安装包。 安装命令: sudo yum install erlang-20.3-1.el7.centos.x86_64.rpm
erlang-xmerl-22.2.2-1.el7.x86_64.rpm 免费下载0积分镜像下载。rabbitMQ安装需要依赖此环境。Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和...
erlang-xmerl-22.2.3-1.el7.x86_64.rpm 免费下载0积分镜像下载。rabbitMQ安装需要依赖此环境。Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和...
esl-erlang_17.3-1~centos~6_amd64.rpm esl-erlang_17.3-1~centos~6_amd64.rpm
erlang 安装包。 rabbitmq 安装所需要的
Erlang是一种通用的面向并发的编程语言,它由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模...文件(erlang-23.1.1-1.el7.x86_64.rpm)是Erlang语言是安装包,rpm包可直接在CentOS上安装。
rabbitMQ安装需要依赖erlang环境,这里提供centOS erlang21.3.1版本免费下载,适用于rabbitMQ对应版本
erlang-xmerl-23.0.2-2.el7.x86_64.rpm,rabbitMQ安装需要依赖此环境。Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和通信应用程序。
erlang-23.1-1.el8.x86_ ,erlang官网下载很慢,所以提供该下载链接。
https://blog.51cto.com/7794482/2436678 可根据文档进行部署,redis+mysql+mq的插件 rabbitmq 安装时需要该插件
erlang-24.0.3-1.el8.x86_64.rpm资源