機能 ショートカットキー
リファレンス(参考URL)一覧へ移動 R
記事URLをMarkDownとしてコピー Ctrl+M
前のコードタグへ移動 Ctrl+←
次のコードタグへ移動 Ctrl+→
ヘルプを表示・非表示 H
Tips
- ショートカットキーは記事上で有効です。ヘッダー/フッター付近では機能しないことがあります。
- コードタグ移動機能がうまく動かないときは、Shift+F5でページを更新してみてください。
- このウィンドウを閉じるには、Hキーをもう一度押してください

Rubyで配列の集合演算

プログラミング

例えば、複数のキーワードの両方を含むWebページの一覧は積集合を求めていることになり、複数のキーワードのいずれかを含むWebページの一覧は和集合を求めていることになる。

p a & b  # 積集合
p a | b  # 和集合
p a - b  # 差集合

Ruby: 集合演算を行うには? – Build Insider

Railsで具体例を上げてみる。


Hashmodel.where(title:"title").ids => [1, 2] Hashmodel.tagged_with("fuga").by_join_date.ids => [6, 1] # titleが"title"でありかつ、"fuga"というタグがつけられているhashmodelのidを取得する(積集合) Hashmodel.where(title:"title").ids & Hashmodel.tagged_with("fuga").by_join_date.ids => [1] # 和集合;OR検索された場合を求める Hashmodel.where(title:"title").ids | Hashmodel.tagged_with("fuga").by_join_date.ids => [1, 2, 6] # ちなみに`+`を使用すると、配列がマージされる形になる。値が重複しているので、和集合ではない。 Hashmodel.where(title:"title").ids + Hashmodel.tagged_with("fuga").by_join_date.ids => [1, 2, 6, 1]

Ruby: 集合演算を行うには? – Build Insiderでは、集合の類似度を求めるジャッカード係数などについても紹介されている。
興味があれば読んでみるといい。

この記事で欲しい情報が見つからなかった方へ

この記事の更新情報がある場合があります。
この記事は以下の記事とも関連性があると思われます。

Ruby windowsのソフトウェアを外部コマンドから開く・起動する
Ruby sinatra 使い方
Ruby hash キーが重複していた場合は2つの値を加算する
Ruby jrubyをインストールしてからGEMのパスが変わってしまった場合の対処
Rubyでhashや配列をeach_with_indexで最初と最後の処理だけ特別な処理をする
Rubyでmechanizeでブログをキーワード検索して最初の投稿を取得する
JRubyでRuby製クロスプラットフォームGUIアプリを作ってみた


管理人の方針で、既存の記事の編集はせず、新しい情報や大きな既存情報の更新があった場合には、新しい記事として公開することになっています。
当記事で欲しい情報が見つからなかった・解決に至らなかった場合、これらのリンクがお役に立てるかも知れません。

どうやってこの関連記事を生成しているの?
この機能のPHPソースコード(2500行)

コメントを残す

Close Menu