1

我想在 <<>> 中为二进制使用变量,如下所示:

(emacs@yus-iMac.local)56> Message = "aaa".
"aaa"
(emacs@yus-iMac.local)57> C = <<Message>>.
** exception error: bad argument


(emacs@yus-iMac.local)58> C = <<"aaa">>.
<<"aaa">>

第一个是错误,第二个是好的。为什么?也许愚蠢的问题。

4

2 回答 2

3

您将不得不使用list_to_binary/1。喜欢:

1> Message = "aaa".
"aaa"
2> C = list_to_binary(Message).
<<"aaa">>
于 2012-06-23T16:19:15.930 回答
3

<<"aaa">>是语法糖,<<$a,$a,$a>>因为不支持直接将列表转换为位语法中的二进制。

于 2012-06-23T21:14:38.327 回答