0

我有这样的空类对象(哈希):

@art_concret

我需要在这个变量中再添加一些......我尝试:

@art_concret = @articles #@articles.find_all{|item| item.ART_ARTICLE_NR.gsub(/[^0-9A-Za-z]/, '').include?(search.upcase) }
@art_concret = @articles_oem
@art_concret.uniq 

还有类似的东西:

art = []
art << @articles #@articles.find_all{|item| item.ART_ARTICLE_NR.gsub(/[^0-9A-Za-z]/, '').include?(search.upcase) }
art << @articles_oem
@art_concret = art.uniq.flatten! #| @articles
@art_concret

如果我需要将@art_concret 推入另外两个(但结构相同)对象,这不起作用?那么如何?

更新 例如:

@a = {:a => 1}
@b = {:a => 2}

只是如何做到这一点 @c 将有 @a + @b = {{:a => 1}, {:a => 2}} ...只需拆分它们

@c = @a + @b - 一次测试就可以了

4

1 回答 1

0

你的意思是你需要合并两个哈希?如果是这种情况,那么只需使用merge方法:

@a = {:a => 1}
@b = {:b => 2}
@a.merge(@b)

=> {:a=>1, :b=>2}

或者,如果您的哈希具有相似的键,并且您需要对相应的值执行一些操作:

@a = {:a => 1}
@b = {:a => 2}
@a.merge(@b)­ { |key,v1,v­2| v1 + v2 }

=> {:a=>3}

于 2013-01-29T17:50:48.990 回答