
No.5
- 回答日時:
# ANo4さんへ
おぉなるほど、集合演算でも「-」を使うと今回のケースが綺麗に解決できるんですね・・・思いつきませんでした。
合致判定を Array#include? に依らないのであれば、これがスマートだと思います。
Array#include? は「==」に依存しますが、Array#-は「eql?」に依存する為、動きが異なります。
組み込みクラスでわかりやすいのはFloatが混じった時でしょうか。
http://codepad.org/fqyFSGRK
この回答へのお礼
お礼日時:2011/09/30 20:30
sholmes様
補足説明ありがとうございます。
小数点がある場合は、注意が必要なのですね。
大変参考になりました。
お忙しい中、ありがとうございました。
No.3
- 回答日時:
重複をどう扱いたいかわからんけど、何も考えない策としては
sub = [1, 1, 3]
sup = [4, 3, 1, 2, 1]
sup.permutation(sub.size).include?(sub)
とか。
No.2
- 回答日時:
そのまま実現している組み込みメソッドは、ちょっと思い当たりませんでした。
自分なら多分、 Enumerable#all? を使ってこんな感じの対処をするかなとは思います。
https://ideone.com/o1plX
<おまけ>
ANo.1さんへ
集合演算とempty?やany?だけだと、こんな感じの時に困りませんか?
# OK
p [3, 4] & [1, 2, 3, 4, 5]
p [3, 4] & [1, 2, 5]
# NG
p [3, 4] & [1, 2, 3, 5]
最後に要素数のチェックを入れた方が良いかもしれません。
この回答へのお礼
お礼日時:2011/09/30 20:22
sholmes様
回答ありがとうございます。
見た目的にシンプルになりますが
回答NO.4の配列の引き算を利用した方が
分かりやすい気がしましたので
そちらを使わせて頂こうと思います。
しかしながら、この方法も
準備さえしておけば、便利使えると思いますので
何かに応用させて頂こうと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
pandasでsqlite3にテーブル作成...
-
Ruby require ライブラリー
-
ruby OpenURI::Meta
-
ruby while式
-
ruby loopメソッド 変数(再喝)
-
Ruby on railsをrails sで立ち...
-
VBA メモ帳の上書き保存がしたい
-
(再質問)エクセルのマクロボ...
-
ruby 配列
-
ruby loopメソッド 変数
-
ruby クラス・オブジェクト・イ...
-
ルビー言語 ライブラリー 追記
-
ruby raise句
-
ruby begin句
-
ruby ensure句
-
ルビー言語 ライブラリー(再々...
-
ルビー言語 csvファイル 続き(...
-
ルビー言語 csvファイル 続き
-
ルビー言語 ライブラリー
-
ルビー言語 csvファイル part2
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでsub,dimは何の略?
-
Functionの戻り値を配列にした...
-
メニュー追加の方法
-
Visual Basic4での並べ替え
-
配列に複数の値があるか簡潔に...
-
VB6で配列を引数にするときの2...
-
2次元配列のデータをファイルへ...
-
xmlの値を配列変数に格納し...
-
xmlの値を配列に格納したいんで...
-
三項でたとえば交換って
-
引数で戻り値を取得するプログラム
-
エクセルVBAでテキストボッ...
-
他のフォームから別のフォーム...
-
VBA public変数はどのようなこ...
-
C#のループでtextboxに値を入れ...
-
アクセスできない保護レベルエ...
-
C言語のサフィックスについて
-
ユーザーフォームへのデータ入...
-
VB.NETでのイベントの途中終了
-
【VB.NET】テキストボックスに...
おすすめ情報