2009-06-11 4 views
1

Ich lerne ETS. Ich tat:ETS passendes Problem

Sometab = ets:new(sometable, [bag]). 
ets:insert(Sometab, {109, ash, 8}). 

Dann habe ich getippt:

ets:match(Sometab, {109, ash, '$1'}). 

jedoch statt 8 zu bekommen - ich erhalte: ["\b"] als Ausgabe!

Antwort

4

Sie erhalten die richtige Antwort. Die Erlang-Shell druckt jedoch [8] als "\b", da der ASCII-Code für backspace 8 ist.

Erlang hat keinen Zeichenfolge-Typ. Zeichenfolgen in erlang werden einfach als Liste von Ganzzahlen dargestellt, und die Erlang-Shell druckt diese Liste als Zeichenfolge aus, wenn die Liste Ganzzahlen enthält, die nur den Ascii-Bereich enthalten.

Dies kann in der Tat manchmal verwirrend sein.

+0

Oh! Also wenn ich das als Ausgabe übergebe, um einen Browser zu sagen, wird es dann gut angezeigt? –

+0

Nun, ja ... irgendwie. ["\ b"] ist dasselbe wie [[8]]. Wenn Sie also zu der Ganzzahl gelangen wollen, können Sie etwas wie [[X]] = ["\ b"] tun. Jetzt wird X die ganze Zahl 8 enthalten. – Jonas