summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mrblib/print.rb22
1 files changed, 17 insertions, 5 deletions
diff --git a/mrblib/print.rb b/mrblib/print.rb
index 7ec6d70ef..3ebd77ee6 100644
--- a/mrblib/print.rb
+++ b/mrblib/print.rb
@@ -48,12 +48,24 @@ module Kernel
args[0]
end
- if Kernel.respond_to?(:sprintf)
- ##
- # Invoke method +sprintf+ and pass +*args+ to it.
- # Pass return value to *print* of STDOUT.
- def printf(*args)
+ ##
+ # Invoke method +sprintf+ and pass +*args+ to it.
+ # Pass return value to +print+ of STDOUT.
+ def printf(*args)
+ if Kernel.respond_to?(:sprintf)
__printstr__(sprintf(*args))
+ else
+ raise NotImplementedError.new('sprintf not available')
+ end
+ end
+
+ ##
+ # +sprintf+ is defined in +src/sprintf.c+
+ # This stub method is only to inform the user
+ # that +sprintf+ isn't implemented.
+ unless Kernel.respond_to?(:sprintf)
+ def sprintf(*args)
+ raise NotImplementedError.new('sprintf not available')
end
end
end