gpt4 book ai didi

ruby - 如何在推送和弹出期间限制数组的大小

转载 作者:太空宇宙 更新时间:2023-11-03 17:16:19 27 4
gpt4 key购买 nike

我希望能够存储用户的最后 5 条评论,因此我创建了一个数组并能够使用以下方法向该数组添加评论:

comments << message

我只想要最后 5 条评论。有没有一种简单的方法(设置数组大小,使第 6 个消失)来实现这一点,而无需编写方法或存储每个评论,然后只显示最后 5 个?

最佳答案

您可以很容易地创建自己的数据结构,将 Array 的功能包装在 ruby​​ 中:

class CommentQueue

include Enumerable

def initialize(num = 5)
@size = num
@queue = Array.new
end

def each(&blk)
@queue.each(&blk)
end

def pop
@queue.pop
end

def push(value)
@queue.shift if @queue.size >= @size
@queue.push(value)
end

def to_a
@queue.to_a
end

def <<(value)
push(value)
end

end

完成。

关于ruby - 如何在推送和弹出期间限制数组的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19136852/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com