处理队列的返回:out_r

发布于 2024-10-06 03:23:04 字数 269 浏览 2 评论 0原文

我有一个声明,我想使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉城已无爱 2024-10-13 03:23:04

使用模式匹配!

{_, NewQueue} = queue:out_r(OldQueue)

鉴于 {value, Item}empty 都作为元组的第一个元素返回,忽略第一个元素将执行您想要的操作。

请注意,队列模块支持 3 个 API。其他 API 可能会更好地满足您的需求。在这种情况下,您可以拥有相同的功能,但如果队列为空,它会崩溃:

drop_r(Q1) -> Q2
Returns a queue Q2 that is the result of removing the rear item from Q1.
Fails with reason empty if Q1 is empty.

选择一个或另一个取决于您的应用程序以及您期望队列中的内容,如果您可以处理空的队列等。

Use pattern matching!

{_, NewQueue} = queue:out_r(OldQueue)

Given both {value, Item} and empty 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:

drop_r(Q1) -> Q2
Returns a queue Q2 that is the result of removing the rear item from Q1.
Fails with reason empty if Q1 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文