2009-06-11 3 views
1

私はETSを学んでいます。私がやった:ETSのマッチングの問題

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

それから私は、型付き:

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

をしかし、代わりに8を取得する - 私が取得しています:出力として["\b"]を!

答えて

4

あなたは正しい答えを得ています。ただし、backspaceのASCIIコードは8であるため、[8]"\b"と表示されます。

Erlangには文字列型がありません。 erlangの文字列は単純に整数のリストとして表され、Erlangシェルは、リストにASCIIの範囲のみの整数が含まれている場合、このリストを文字列として出力します。

これは実際に時々混乱することがあります。

+0

ああ!ですから、これを出力としてブラウザに渡すと、それはうまく表示されますか? –

+0

さて、そうです。 ["\ b"]は[[8]と同じです。だから整数にしたいのであれば、[[X]] = ["\ b"]のようにすることができます。 Xは整数8を含みます。 – Jonas