次のような Ruby メソッドがあります。
# Retrieve all fruits from basket that are of the specified kind.
def fruits_of_kind(kind)
basket.select { |f| f.fruit_type == kind.to_s }
end
現在、これを次のように呼び出すことができます。
fruits_of_kind(:apple) # => all apples in basket
fruits_of_kind('banana') # => all bananas in basket
等々。
入力なしや nil 入力だけでなく、反復可能な入力も正しく処理するようにメソッドを変更するにはどうすればよいですか? たとえば、次のことをサポートできるようにしたいと考えています。
fruits_of_kind(nil) # => nil
fruits_of_kind(:apple, :banana) # => all apples and bananas in basket
fruits_of_kind([:apple, 'banana']) # => likewise
これは慣用的に行うことは可能ですか?もしそうなら、ゼロ、1、または多くの入力を受け入れることができるようにメソッドを書くための最良の方法は何ですか?