
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ランキング
-
Functionの戻り値を配列にした...
-
チェックボックスを操作できな...
-
C#のループでtextboxに値を入れ...
-
他のフォームから別のフォーム...
-
VBA public変数はどのようなこ...
-
線の太さ
-
GetNextWindowがDLLファイルUse...
-
カラーの16進表記の足し算
-
リストビューの列ヘッダーの幅...
-
Googleシート「A1」でなくて「A...
-
VB.NETでのイベントの途中終了
-
VBでの入力値制限について
-
RichTextBoxで指定行の色を自動...
-
プロシージャまたは関数の引数...
-
VBAでcallで呼び出したsubを終...
-
検索結果の指定列をリストボッ...
-
VBSのプログラム
-
VB6のFriendについて
-
パーソナルXLSBのfuctionを呼び...
-
Callで呼び出したプロシージャ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでsub,dimは何の略?
-
Functionの戻り値を配列にした...
-
VB6で配列を引数にするときの2...
-
三項でたとえば交換って
-
xmlの値を配列変数に格納し...
-
2次元配列のデータをファイルへ...
-
ExcelVBAで他のファイル(proje...
-
配列に複数の値があるか簡潔に...
-
Pascalでの選択ソート
-
xmlの値を配列に格納したいんで...
-
VBA public変数はどのようなこ...
-
アクセスできない保護レベルエ...
-
C#のループでtextboxに値を入れ...
-
visual basic初心者です。 visu...
-
VB.NETでのイベントの途中終了
-
他のフォームから別のフォーム...
-
エクセルVBAでテキストボッ...
-
【VB.NET】テキストボックスに...
-
プロシージャまたは関数の引数...
-
VBAで入力数値について
おすすめ情報