Rubyでハッシュを学んでいます。 私はハッシュを任意の変数に代入したり要素を削除したりせずに反復しようとしています。 {a: 1, b: 2, c: "Hello"}.each{|k,v| self.delete(k)}
。私はまた、this
でself
を交換しようとしたが、それはどちらも動作しませんでした自分自身でハッシュのキーを使って要素を削除する
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>'
このエラーが発生します。とにかく、私はハッシュ(delete
のような)のメソッドを(hash_var.each {|k,v| hash_var.delete(k)}
のような)変数にハッシュを割り当てないで使用できますか?私はc9 IDEを使用しています。
私はハッシュで遊びたいです。ある例では、 'number = {a:1、b:2、c:3}; number.each {| k、v | v <3の場合はnumber.delete(k) 'となります。変数にハッシュを割り当てるのではなく、{a:1、b:2、c:3}で直接作業することで、同じことをすることができます。 –