1
構成オプションに応じて、異なるブロック/コンテキスト内で特定のコード部分を実行する必要があるとします。例えば、 Rubyでブロック内のコードを動的にラップする方法は?
if silence
silence_stdout do
# do something
end
else
# do the same thing
end
は
# do something
コードを繰り返すことなく、これを書くための方法はありますか?
something = -> { do_something }
if silence
silence_stdout &something
else
something.call
end
のかの方法でそれを投げる:あなたはまた、内部のロジックを回すことができる
def something
# Do something, lots and lots of something.
end
if silence
silence_stdout &method(:something)
else
something
end
ニースラムダ。 –
ああああ! #3はまさに私が探していたものです。可能でなければならないことは分かっていました。ありがとう。 – user2398029
@ハンター:ありがとう、私は♥λと私は彼らが必要なほど多くの使用を得ることはないと思う。 –