преобразовать список хэшей в аргумент для метода - PullRequest
1 голос
/ 15 июня 2011

У меня есть аргументы на основе хеша.

method1(:test=>[:arg1, :arg2 => :something])

Мне нужно передать :test в качестве аргумента другому методу в следующем формате

из A:

[:arg1, {:arg2=>:something}] 

до B:

method2 :arg1, :arg2=>:something

Как мне добраться от А до Б?

Ответы [ 3 ]

7 голосов
/ 15 июня 2011

Как насчет?

args = {:test => [:arg1, :arg2 => :something]}
method1(args)

method2(*args[:test])
0 голосов
/ 15 июня 2011

если в хеше не так много вещей, вы можете просто зациклить ключи и разыменовать их.Чтобы это работало, нужно:

  1. Вы должны добавить ключ / значения в том порядке, в котором вы хотите.чтобы они сделали так, чтобы порядок ключей был сохранен в хешах)
0 голосов
/ 15 июня 2011

Если ary = [:art1, {:arg2 => :something}], то method2 *ary должно сработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...