[ruby-core:113371] [Ruby master Feature#12165] Hash#first, Hash#last
From:
"nobu (Nobuyoshi Nakada) via ruby-core" <ruby-core@...>
Date:
2023-04-28 07:20:01 UTC
List:
ruby-core #113371
Issue #12165 has been updated by nobu (Nobuyoshi Nakada).
stillhart (Fabian Stillhart) wrote:
> Interestingly I while playing arround I found out that the Hash#first method works. But why is it not in the ruby-doc?
It is [`Enumerable#first`](https://docs.ruby-lang.org/en/3.2/Enumerable.html#method-i-first).
```ruby
p Hash.instance_method(:first) #=> #<UnboundMethod: Enumerable#first(*)>
```
----------------------------------------
Feature #12165: Hash#first, Hash#last
https://bugs.ruby-lang.org/issues/12165#change-102937
* Author: stillhart (Fabian Stillhart)
* Status: Open
* Priority: Normal
----------------------------------------
Just run into a simple problem with a colleague and was wondering why there is no Hash#last method?
~~~ruby
{a: true, b: false}.last
NoMethodError: undefined method 'last' for {:a=>true, :b=>false}:Hash
~~~
Interestingly I while playing arround I found out that the Hash#first method works. But why is it not in the ruby-doc?
~~~ruby
{a: true, b: false}.first
=> [:a, true]
~~~
I would assume the Hash#last method would work like the Hash#first method:
~~~ruby
{a: true, b: false}.last
=> [:b, false]
~~~
If I am not wrong the order of a Hash is always the same when calling Hash#each. So wouldn't it make sense to have Hash#last method?
I tested it in Ruby 2.2.4 and Ruby 2.3.0.
--
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/