2013-12-21 64 views
0

我試圖從一個Hashie :: Mash對象中刪除一個鍵。醪的內容是:如何刪除|鍵,值|從一個Hashie對:: Mash

mash.java 
=> #<Hashie::Mash jre7-174="C:/Program Files (x86)/Java/jre7/bin" jre8_123="C:/java/stuff/bin"> 

我嘗試使用功能從Hashie::Mash delete但我想要麼得到的nil結果並沒有改變醪中的內容,或者我會得到錯誤:

mash.delete(jre8_123) 
NameError: undefined local variable or method `jre8_123' for main:Object 
     from (irb):54 
     from C:/Ruby/Ruby200-x64/bin/irb:12:in `<main>' 

我知道我使用此功能不正確,但從我在文檔中看到的,它不正常工作。我應該怎麼做才能刪除| key,value |從Hashie :: Mash?

Hashie::Mash rdoc

回答

2

你需要使用一個符號或字符串來調用刪除方法。看看Hashie::Mash#deletespec on GitHub

mash.delete(:jre8_123) 

就是這樣的。調用它是這樣的:

mash.delete(jre8_123) 

會嘗試喂其結果爲mash.delete之前引用一些所謂jre8_123。這是失敗的,因爲沒有名稱的變量或方法。

+0

Yessir,就是這樣。我沒有正確地調用它。它的'mash.delete(:jre8_123)' – Pred

相關問題