array_methods/fetch_warnings_no_parens.rb
tests/_examples/array_methods/fetch_warnings_no_parens.rb in the metorex repository.
module Warning
def self.warn message, category: nil
$stdout.print "warned: #{message.sub(/\A.*?warning: /, "")}"
end
end
$VERBOSE = true
rates = [4, 9]
p rates.fetch(0) { :missing }
p rates.fetch(5) { |index| "no rate at #{index}" }
p rates.fetch(1, :fallback) { :block }
p rates.fetch(7, :fallback) { :block }
p rates.fetch 7, :fallback
Output:
4
"no rate at 5"
warned: block supersedes default value argument
9
warned: block supersedes default value argument
:block
:fallback