mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
mruby-sprintf: add comprehensive call-seq documentation for String#% method
- %: string formatting operator that uses the string as a format specification
and applies it to the given argument(s), supports both single arguments and
arrays for multiple substitutions, delegates to sprintf for actual formatting
The method now has comprehensive call-seq documentation with practical
examples demonstrating various sprintf formatting patterns including:
- Zero-padded integers: "%05d" % 123
- Multiple substitutions with arrays: "%-5s: %016x" % [name, id]
- Hash-based named substitutions: "foo = %{foo}" % { :foo => 'bar' }
- Named format specifiers: "%{foo}f" % { :foo => 1 }
Co-authored-by: Atlassian Rovo Dev
This commit is contained in:
@@ -1,4 +1,19 @@
|
||||
class String
|
||||
#
|
||||
# call-seq:
|
||||
# str % arg -> new_str
|
||||
# str % args -> new_str
|
||||
#
|
||||
# Format - Uses str as a format specification, and returns the result
|
||||
# of applying it to arg. If the format specification contains more than
|
||||
# one substitution, then arg must be an Array or Hash containing the values
|
||||
# to be substituted. See sprintf for details of the format string.
|
||||
#
|
||||
# "%05d" % 123 #=> "00123"
|
||||
# "%-5s: %016x" % [ "ID", self.object_id ] #=> "ID : 00002b054ec93168"
|
||||
# "foo = %{foo}" % { :foo => 'bar' } #=> "foo = bar"
|
||||
# "%{foo}f" % { :foo => 1 } #=> "1f"
|
||||
#
|
||||
def %(args)
|
||||
if args.is_a? Array
|
||||
sprintf(self, *args)
|
||||
|
||||
Reference in New Issue
Block a user