私のコードを一部解凍したいと思います。配列内の文字列に設定された動的変数名を作るにはどうすればいいですか?
私はコードで後で呼び出す必要があるメソッドを表す文字列の配列を持っています。
stages = ['prospecting', 'development', 'submitted', 'committed', 'review']
現在、私はまた、私は明示的に配列内の各値に等しい命名しています5つのメソッドを持ってい
# returns a hash
prospecting = ElasticSearch::Job.query(
stage: 'prospecting',
titan_user_id: titan_user['id'],
gte: start_date,
lte: end_date
)
# . . .
# returns a hash
review = ElasticSearch::Job.query(
stage: 'review',
titan_user_id: titan_user['id'],
gte: start_date,
lte: end_date
)
私はステージアレイ上stages.each
を行うと、各文字列を設定したいと思います変数名を動的に変更します。
stages.each do |stage|
[stage] = ElasticSearch::Job.query(
stage: stage,
titan_user_id: titan_user['id'],
gte: start_date,
lte: end_date
)
end
# . . .
後で、このようになります。何か私のコードで私は
# . . .
snapshot.prospecting_bids = prospecting['aggregations']['total_count']['value']
snapshot.prospecting_value = prospecting['aggregations']['total_sum']['value']
snapshot.development_bids = development['aggregations']['total_count']['value']
snapshot.development_value = development['aggregations']['total_sum']['value']
snapshot.save
...のようなものをやってますが私を可能にするRubyでVariable.new = 'name'
のいくつかの並べ替えがあります私の配列を動的にループして変数名を設定するには?
私の質問は、変数を動的に作成したい人が存在する例では、単に文字列値をハッシュに設定するだけなので、変数としてメソッドを設定する必要があるため、StackOverflowに関する以前の質問とは異なります。
可能な複製(https://stackoverflow.com/questions/4963678/dynamically -set-local-variables-in-ruby) –