Ruby:试图更好地理解Hash#delete的使用

时间:2013-10-16 18:21:05

标签: ruby hash

我见过很多使用Hash delete方法的Ruby类的例子,我不确定使用它的优点是什么。

示例:

class Example
  def initialize(default_params = {})
    @foo = default_params.delete(:bar)
  end
end

任何见解都会非常有帮助!谢谢!

1 个答案:

答案 0 :(得分:1)

Hash#delete在以下情况下非常有用:

def method(options)
  if options.delete(:condition)
    # Do something if options[:condition] is true
  else
    # Otherwise do something else
  end

  # Now options doesn't have the :conditions key-value pair.
  another_method_that_doesnt_use_the_condition(options)
end

我不确定您提取的具体示例是否应使用Hash#delete