处理队列的返回:out_r
我有一个声明,我想使用 out_r 删除队列中的最后一项。
文件说回报是
结果 = {{值,项目},Q2} | {空,Q1}
Q1 = Q2 = 队列()
如果我只想获取已删除项目的队列,我该如何处理?
如何获取队列并忽略 {value, item}?
例如 NewQueue = 队列:out_r(OldQueue)
谢谢
I have a statement where I want to remove the last item in a queue using out_r.
The Docs say that the return is
Result = {{value, Item}, Q2} | {empty, Q1}
Q1 = Q2 = queue()
How do I handle this if I just want to get the queue with the item removed?
How do I get the queue and disregard the {value, item}?
e.g.NewQueue = queue:out_r(OldQueue)
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用模式匹配!
鉴于
{value, Item}
和empty
都作为元组的第一个元素返回,忽略第一个元素将执行您想要的操作。请注意,队列模块支持 3 个 API。其他 API 可能会更好地满足您的需求。在这种情况下,您可以拥有相同的功能,但如果队列为空,它会崩溃:
选择一个或另一个取决于您的应用程序以及您期望队列中的内容,如果您可以处理空的队列等。
Use pattern matching!
Given both
{value, Item}
andempty
are returned as the first element of the tuple, ignoring the first element will do what you want.Note that the queue module supports 3 APIs. Other APIs might do what you want better. In this case, you can have the same function, except it crashes if the queue is empty:
Picking one or the other depends on your applications and what you expect to be in the queue, if you can handle an empty one, etc.