How do methods use hash arguments in Ruby?

前端 未结 6 1082
青春惊慌失措
青春惊慌失措 2020-12-04 19:43

I saw hash arguments used in some library methods as I\'ve been learning.

E.g.,

list.search(:titles, genre: \'jazz\', duration_less_than: 270)
         


        
6条回答
  •  一生所求
    2020-12-04 20:13

    In Ruby 2.x, you can use ** hash splat:

    def foo( ordered_argument, **named_arguments )
      puts "Ordered argument: #{ordered_argument}"
      puts "Named arguments: #{named_arguments}"
    end
    
    foo( :titles, genre: 'jazz', duration_less_than: 270 )
    #=> Ordered argument: titles
    #=> Named arguments: {:genre=>"jazz", :duration_less_than=>270}
    

提交回复
热议问题