2013-01-10 36 views
-2

当我运行我的程序时,发生错误,当我查看日志时,出现{k,3108,“s”},{k,3109,“},怎么能。一个双引号作为varible价值Erlang一个特殊的值doule报价

+0

你能编辑你的文章并显示整个错误信息吗? – legoscia

+0

提供有关您的错误的更多信息。也许是原子? 'is_atom( '')。返回true' – 0xAX

+0

对不起,一个模糊的问题,现在是一个张贴screenshot.I've测试,并确保不是一个原子''。 – godnockdog

回答

2

在文本字体是有点难以看到什么你在日志中实际上得到,但我猜测它是:

{k,3108,"s"},{k,3109,''} 

的第一个真正的双引号使一个Erlang 字符串(这实际上是一个整数列表),而第二个实际上是一对'这是原子的引号字符s。在这种情况下,它是允许使用空名称的原子。这是@shk表示的。

但是如果没有更多的信息,很难给出正确的答案。

+0

实际上,我相信是一个“而不是”。现在我提到的是双引号的ASCII代码34,因为它打印了一些像#,☉这样的特殊字符,但我无法实际地打印出“当使用erl emulater 。 – godnockdog

+0

如果第二个'''真的是'''而不是'''',那么需要匹配''''不,erlang不会打印''',它会打印34,因为没有字符类型。 – rvirding