Durchführen von Array-Mengenoperationen in Ruby und Vorstellung von Beispielen mit Ruby on Rails-Modellen. Durchführen von Array-Operationen aus der Ruby-Sprache für Schnittmenge, Vereinigungsmenge und Differenz.
Zum Beispiel ist eine Liste von Webseiten, die beide von mehreren Schlüsselwörtern enthalten, das Finden der Schnittmenge, und eine Liste von Webseiten, die eines von mehreren Schlüsselwörtern enthalten, ist das Finden der Vereinigungsmenge.``` p a & b # Schnittmenge p a | b # Vereinigungsmenge p a - b # Differenz
[Ruby: Wie führt man Mengenoperationen durch? - Build Insider](https://www.buildinsider.net/language/rubytips/0025)
Hier ist ein konkretes Beispiel in Rails.
```ruby
Hashmodel.where(title:"title").ids
=> [1, 2]
Hashmodel.tagged_with("fuga").by_join_date.ids
=> [6, 1]
# Erhalten Sie die ID des Hashmodels, dessen Titel "title" ist und das Tag "fuga" hat (Schnittmenge)
Hashmodel.where(title:"title").ids & Hashmodel.tagged_with("fuga").by_join_date.ids
=> [1]
# Vereinigungsmenge; finde den Fall, wenn OR-Suche durchgeführt wird
Hashmodel.where(title:"title").ids | Hashmodel.tagged_with("fuga").by_join_date.ids
=> [1, 2, 6]
# Übrigens führt die Verwendung von `+` zu zusammengeführten Arrays. Da Werte dupliziert sind, ist es keine Vereinigungsmenge.
Hashmodel.where(title:"title").ids + Hashmodel.tagged_with("fuga").by_join_date.ids
=> [1, 2, 6, 1]
Ruby: Wie führt man Mengenoperationen durch? - Build Insider stellt auch den Jaccard-Koeffizienten für das Finden von Mengenähnlichkeit vor. Sie könnten es lesen, wenn Sie interessiert sind.