81 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Factor
		
	
	
 | 
						|
USING: help.syntax help.markup kernel prettyprint sequences strings ;
 | 
						|
 | 
						|
IN: printf
 | 
						|
 | 
						|
HELP: printf
 | 
						|
{ $values { "format-string" string } }
 | 
						|
{ $description "Writes the arguments (specified on the stack) formatted according to the format string." } 
 | 
						|
{ $examples 
 | 
						|
    { $example
 | 
						|
        "USING: printf ;"
 | 
						|
        "123 \"%05d\" printf"
 | 
						|
        "00123" }
 | 
						|
    { $example
 | 
						|
        "USING: printf ;"
 | 
						|
        "HEX: ff \"%04X\" printf"
 | 
						|
        "00FF" }
 | 
						|
    { $example
 | 
						|
        "USING: printf ;"
 | 
						|
        "1.23456789 \"%.3f\" printf"
 | 
						|
        "1.235" }
 | 
						|
    { $example 
 | 
						|
        "USING: printf ;"
 | 
						|
        "1234567890 \"%.5e\" printf"
 | 
						|
        "1.23457e+09" }
 | 
						|
    { $example
 | 
						|
        "USING: printf ;"
 | 
						|
        "12 \"%'#4d\" printf"
 | 
						|
        "##12" }
 | 
						|
    { $example
 | 
						|
        "USING: printf ;"
 | 
						|
        "1234 \"%+d\" printf"
 | 
						|
        "+1234" }
 | 
						|
} ;
 | 
						|
 | 
						|
HELP: sprintf
 | 
						|
{ $values { "format-string" string } { "result" string } }
 | 
						|
{ $description "Returns the arguments (specified on the stack) formatted according to the format string as a result string." } 
 | 
						|
{ $see-also printf } ;
 | 
						|
 | 
						|
ARTICLE: "printf" "Formatted printing"
 | 
						|
"The " { $vocab-link "printf" } " vocabulary is used for formatted printing.\n"
 | 
						|
{ $subsection printf }
 | 
						|
{ $subsection sprintf }
 | 
						|
"\n"
 | 
						|
"Several format specifications exist for handling arguments of different types, and specifying attributes for the result string, including such things as maximum width, padding, and decimals.\n"
 | 
						|
{ $table
 | 
						|
    { "%%"    "Single %" "" }
 | 
						|
    { "%P.Ds" "String format" "string" }
 | 
						|
    { "%P.DS" "String format uppercase" "string" }
 | 
						|
    { "%c"    "Character format" "char" } 
 | 
						|
    { "%C"    "Character format uppercase" "char" } 
 | 
						|
    { "%+Pd"   "Integer format"  "fixnum" }
 | 
						|
    { "%+P.De" "Scientific notation" "fixnum, float" }
 | 
						|
    { "%+P.DE" "Scientific notation" "fixnum, float" }
 | 
						|
    { "%+P.Df" "Fixed format" "fixnum, float" }
 | 
						|
    { "%+Px"   "Hexadecimal" "hex" }
 | 
						|
    { "%+PX"   "Hexadecimal uppercase" "hex" }
 | 
						|
}
 | 
						|
"\n"
 | 
						|
"A plus sign ('+') is used to optionally specify that the number should be formatted with a '+' preceeding it if positive.\n"
 | 
						|
"\n"
 | 
						|
"Padding ('P') is used to optionally specify the minimum width of the result string, the padding character, and the alignment.  By default, the padding character defaults to a space and the alignment defaults to right-aligned. For example:\n"
 | 
						|
{ $list
 | 
						|
    "\"%5s\" formats a string padding with spaces up to 5 characters wide."
 | 
						|
    "\"%08d\" formats an integer padding with zeros up to 3 characters wide."
 | 
						|
    "\"%'#5f\" formats a float padding with '#' up to 3 characters wide."
 | 
						|
    "\"%-10d\" formats an integer to 10 characters wide and left-aligns." 
 | 
						|
}
 | 
						|
"\n"
 | 
						|
"Digits ('D') is used to optionally specify the maximum digits in the result string. For example:\n"
 | 
						|
{ $list 
 | 
						|
    "\"%.3s\" formats a string to truncate at 3 characters (from the left)."
 | 
						|
    "\"%.10f\" formats a float to pad-right with zeros up to 10 digits beyond the decimal point."
 | 
						|
    "\"%.5E\" formats a float into scientific notation with zeros up to 5 digits beyond the decimal point, but before the exponent."
 | 
						|
} ;
 | 
						|
 | 
						|
ABOUT: "printf"
 | 
						|
 | 
						|
 |