我正在尝试连接位字符串
cowboy_req:reply(
200, #{<<"content-type">> => <<"text/html">>},
<<"<div style='color:#FF0'>">> ++ cowboy_req:host(Req) ++ <<"</div>">> ,
Req
)
但由于++
运算符而导致运行时错误。如何连接两个位串?
答案 0 :(得分:5)
你在这里有正常的二进制文件,而不是比特串。
如果你真的想连接它们,请将cowboy_req:host(Req)
存储在变量中,然后连接3个二进制文件:
Host = cowboy_req:host(Req),
cowboy_req:reply(
200,
#{<<"content-type">> => <<"text/html">>},
<<"<div style='color:#FF0'>", Host/binary, "</div>">>,
Req
)
请注意,由于cowboy_req:reply
接受iodata()
,因此返回这样的列表通常会更有效:
cowboy_req:reply(
200,
#{<<"content-type">> => <<"text/html">>},
[<<"<div style='color:#FF0'>">>, cowboy_req:host(Req), <<"</div>">>],
Req
)