From: "Eregon (Benoit Daloze) via ruby-core" Date: 2023-10-06T22:20:59+00:00 Subject: [ruby-core:114964] [Ruby master Feature#19905] Introduce `Queue#peek` Issue #19905 has been updated by Eregon (Benoit Daloze). `peek` is inherently racy in that the value observed might be already popped. If it's for observability and debugging I think `to_a` or `each` makes more sense, it's for sure useful to see other values than just the first one. ---------------------------------------- Feature #19905: Introduce `Queue#peek` https://bugs.ruby-lang.org/issues/19905#change-104835 * Author: hi@joaofernandes.me (Joao Fernandes) * Status: Open * Priority: Normal ---------------------------------------- This ticket proposes the introduction of the `Queue#peek` method, similar to what we can find in other object oriented languages such as Java and C#. This method is similar to `Queue#pop`, but does not change the data, nor does it require a lock. ``` q = Queue.new([1,2,3]) => # q.peek => 1 q.peek => 1 ``` I have felt the need of this for debugging, but I think that it can also be of practical use for presentation. I believe that the only drawback could be that newcomers could misuse it in multi-threaded work without taking into account that this method is not thread safe. I also volunteer myself to implement this method. -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/