array_methods/fetch_warnings.rb
tests/_examples/array_methods/fetch_warnings.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