Ruby 文字列型配列の重複した文字列の最小文字列のみを抽出するには?
Rubyで文字列型の配列の中身を、重複した文字列の最小文字列のみを抽出する方法がないか調べております。
strArray = ["dir/a/00", "dir/a/01", "dir/a/02", "dir/a", "dir/b/00", "dir/b/01", "dir/b/01/abc", "dir/b/01/abc/def", "dir/b/02", "dir/b"]
このような文字列型配列があったときに、Array#uniqを使って以下の配列のように中身を削除する方法はありますでしょうか?(Array#uniqにこだわる必要はないのですが、速度が出せる書き方を教えて下さい。)
strArray = ["dir/a", "dir/b"]
どういうことかと言いますと、各配列要素の中身が要素の最小で一致している場合は、配列を要素の最小のみにしたいです。(比較対象は配列要素と配列要素、配列要素の中身のパスの最小ではないです。)
"dir/a/00"は"dir/a"と比較した時に、"dir/a" + αの形になっているため削除したいです。
(要素の最小というのは、ほかの要素と比較した時に一番小さい単位と言えば伝わりますでしょうか?)
よろしくお願いします。