0

我有一个格式如下的 ets 表

ets:new(players, [set,named_table])

放入表中的数据是球员姓名和年龄。

格式为 [{Name,Age}]

我制作了一个函数来尝试获取玩家的年龄和年龄。

getPlayerAge(PlayerName)->
  Player = ets:lookup(players,PlayerName),
  [{_,Age}] = Player,
  Age.

我遇到了一个错误匹配错误,老实说,我很困惑。

这可以完成还是我要走了?

4

1 回答 1

1

大概确切的错误是这个:

{badmatch, []}

也就是说,您从中获得的值ets:lookup[]空列表,并且与模式不匹配[{_,Age}]ets:lookup如果没有找到具有给定键的元素,则返回一个空列表。ets:tab2list(players)您可以通过调用和检查返回值来检查该表是否实际包含您期望它包含的内容。

于 2017-01-14T00:23:39.810 回答