私は約Object#tap
を知っています。これは値をとり、その値を返します。しかし、ブロックを受け取り、ブロックによって評価される値を返すメソッドがありますか?ブロックの値を返すだけのRubyメソッドはありますか?
(以下スニペットよりも複雑である)this answerに私のコードを改善するために、私は何
def my_method(*args)
yield *args
end
deck = ['A', 'B', 'C']
my_method("A") {|value| deck.index(value).tap {|index|
STDERR.puts "Result of indexing for #{value.inspect} is #{index.inspect}"
} }
# Result of indexing for "A" is 0
# => 0
スタート近いのではなく、終わり近く ' 'A''を入れて、それは可能ですか? –