どのように正確にこれを言いたいのか分かりませんが、多くの変数を定義して、多くの変数をそれぞれ書き直したり、新しいブロックごとに冗長コードを作成したりせずに再定義しようとしています。変数は、複数のデータベースから配列要素を定義しています。ここで私が働いているものを小型化したサンプルです:Ruby:(再)別のブロック/メソッドから変数を定義していますか?
def lots_of_vars(array)
name = array[1]
membership = array[2]
spouse = array[3]
....
lap12 = array[36]
end
def second_block
#database1 => [ "Randy", true, "Nancy", 2, 17, false...
lots_of_vars(database1)
return unless membership
puts "Lap progress for #{name} and #{spouse}: #{lap1}, #{lap2}... #{lap12}..."
end
def third_block
#database2 => [ "Steven", true, nil, 0, 5, false...
lots_of_vars(database2)
return unless spouse.empty? or spouse.nil?
puts "Weekly progress for #{name}: #{lap1}, #{lap5}, #{lap6}, #{lap10}..."
end
第二と第三のブロック最初のブロック/メソッドから定義されているすべての変数を必要としています。しかし、どのようにこれらの変数をすべて渡すのですか?
def second_block(name, membership, spouse...)
が、これは両方のブロックに二回、各変数の定義など、混乱の同じくらいになるだろう:私が読ん一つの例は、私のようなパラメータとしてそれらすべてを渡す示唆しました。このような状況に対して、単純で乾いたアプローチは何ですか? 私の質問で何かを明確にする必要がある場合はお知らせください、ありがとうございます。
おかげについては、この素敵なブログ記事をチェックすることができ、必要に応じて、これは正確に働きました。 – rubyuser1357796