配列に直前5秒間に入力されたデータだけを残し、前から毎秒削除していく方法を教えて下さい

投稿者: Anonymous

Ruby初心者です。配列に関する質問です。

毎秒とあるハッシュ形式のデータを複数(データの数は毎秒変わり、0個の時もあります)配列の最後に追加しながら、現在時刻マイナス5秒間のデータだけが常に配列に残され、6秒以上前のデータが全て削除されていくようにするコードを使いたいのですが、調べても方法が分からず、質問させていただきました。

毎秒1つの配列を作り、配列の配列を作る方法も考えましたが、コードまで落とし込むことができませんでした。

教えていただけると非常に助かります。よろしくお願いいたします。

解決

hash_array = [ hash_data1, hash_data2, … ] # 毎秒のHash dataの配列を作る 0個の時は空の配列
array.push(hash_array)
array.shift if array.count > 5

確実に毎秒動くのなら、こんな感じでも良いんじゃないですか?

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *