これは投稿するのが面白い質問だと思った。私には解決策があります。これを行うより良い方法があるのではないかと不思議です。Ruby:配列内の他の文字列の部分文字列である文字列を削除する
names = ["on", "question", "quest"]
配列内の他のメンバーの部分文字列である文字列を削除したいとします。私が思い付くことができクリーンなコードされています。その結果、私は非常にルビーのように見えるしていません、そのコードを嫌い
["question"]
ある
names.select do |name|
names.all? { |other_name| other_name == name || other_name.match(name).nil? }
end
。これを行うためのより良い/より効率的な/より簡潔な方法に関する提案はありますか?
ありがとうございました。
'other_name == name ||'は必要ですか?それなしで少しきれいになるだろう。 –
はい、そうでなければ、 "質問"を含むすべてが除外されます。 –