Ruby 初心者スレッド Part 52

このエントリーをはてなブックマークに追加
277デフォルトの名無しさん
>>271
[1,1,1,2,3,4].diff [1,2,1] => [1, 1, 3, 4]

また、>>271を更新しました
http://play.island.ac/codepaste/code?id=1552

更新版では、multisetパッケージ(>>264)と同様にメソッド Array#- をオーバライドさせました
[1,1,1,2,3,4] - [1,2,1] => [1, 1, 3, 4]

なお、この実装は(コードを見れば一目で分かるように)「配列の差」を単純に表現しています
もし質問者(>>262)が必要としているのが「真の多重集合」であるなら multsetを使うべきだし、
「単なる配列の差」でかまわないならばこちらを選んでもいいのではないかと思います


>>273
a.select.with_index { |_, i| [0, 2].include?(i) }