builtins/sprintf_and_float_constants_no_parens.rb
tests/_examples/builtins/sprintf_and_float_constants_no_parens.rb in the metorex repository.
puts sprintf "%s and %s", "one", "two"
puts sprintf "%d", 42
puts format "%s", :symbol
class Template
def to_str
"converted %s"
end
end
puts sprintf Template.new, "format"
begin
sprintf 42, "value"
rescue TypeError => error
puts "#{error.class}: #{error.message}"
end
begin
x = 42 % "not a format"
puts x.inspect
rescue TypeError => error
puts error.class
end
puts Float::INFINITY.inspect
puts (Float::INFINITY > 1e308)
puts (-Float::INFINITY < -1e308)
puts (Float::NAN == Float::NAN)
puts Float::DIG
puts Float::MANT_DIG
puts (Float::EPSILON > 0)
puts (Float::MAX > Float::MIN)
Output:
one and two
42
symbol
converted format
TypeError: no implicit conversion of Integer into String
TypeError
Infinity
true
true
false
15
53
true
true