我在Ruby學習哈希。 我正在嘗試迭代散列而不將它分配給任何變量並刪除它的元素。 {a: 1, b: 2, c: "Hello"}.each{|k,v| self.delete(k)}
。我得到這個錯誤用自己的哈希刪除使用鍵的元素
2.3.0 :001 > {a: 1, b: 2, c: "Hello"}.each {|k,v| self.delete(k)}
NoMethodError: undefined method `delete' for main:Object
from (irb):1:in `block in irb_binding'
from (irb):1:in `each'
from (irb):1
from /usr/local/rvm/rubies/ruby-2.3.0/bin/irb:11:in `<main>'
我還試圖取代self
與this
,但它沒有工作也沒有。無論如何,我可以使用散列方法(如delete
)而不將散列分配給變量(如hash_var.each {|k,v| hash_var.delete(k)}
)?我正在使用c9 IDE。
我想玩哈希。在一個例子中,'number = {a:1,b:2,c:3}; number.each {| k,v | number.delete(k)if v <3}'。我想也許我可以通過直接使用{a:1,b:2,c:3}來做同樣的事情,而不是將哈希分配給一個變量。 –