2013-01-10 40 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