Project

General

Profile

Actions

Feature #16928

open

Array#include_all? & Array#include_any?

Added by AndyMaleh (Andy Maleh) over 4 years ago. Updated over 4 years ago.

Status:
Open
Assignee:
-
Target version:
-
[ruby-core:98605]

Description

Hi,

The Ruby Array class is currently missing #include_all? and #include_any? to check if current Array includes all elements of another Array or any.

I implemented in this Ruby Gem:
https://github.com/AndyObtiva/array_include_methods

I would like to propose merging into Ruby since these methods are very handy and are more readable than coding by hand manually.

Andy Maleh


Files

array_include_methods.zip (65.8 KB) array_include_methods.zip AndyMaleh (Andy Maleh), 06/01/2020 03:39 PM

Related issues 1 (0 open1 closed)

Related to Ruby master - Feature #15198: Array#intersect?Closedmatz (Yukihiro Matsumoto)Actions
Actions #1

Updated by jeremyevans0 (Jeremy Evans) over 4 years ago

  • Tracker changed from Bug to Feature
  • Backport deleted (2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN)

Updated by marcandre (Marc-Andre Lafortune) over 4 years ago

FYI, you can already do these with sets:

Set[1, 2] == Set[2, 1] # => true
Set[1,2].intersect?(Set[2]) # => true

The second case has been requested a few times already: #15198, ...

Actions #3

Updated by marcandre (Marc-Andre Lafortune) over 4 years ago

Updated by Dan0042 (Daniel DeLorme) over 4 years ago

The first case (#include_all?) has also been requested before: #16039

Updated by AndyMaleh (Andy Maleh) over 4 years ago

I am glad others have reported too. This confirms what I said about this being "very handy".

In response to Marc-Andre Lafortune saying "FYI, you can already do these with sets:"

Please note what I said about being: "more readable than coding by hand manually." I am aware of the Set approach and have used on projects before. Still, Set is not part of the Array API, so it is considered coding by hand manually even if not from scratch. Petty details aside, I like to be a happy Ruby programmer and the syntax you provided does not make me happy.

By the way, thanks for sending me a message on GitHub alerting me to a hole in the implementation. I am patching it right now.

Please take this issue and GitHub project as merely an idea suggestion though as I am not a language programmer. As such, there are likely many bugs/holes/performance-issues with my simpleton implementation.

I was not expecting you to take my implementation as is, yet simply as an idea to implement with your superior language programming skills while making it feature-complete (e.g. support Enumerable). Still, if you need my help with anything, I am available and do have some time to dedicate.

Cheers and thanks for continuing to make Ruby a wonderful language!

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0