|
5.1.118 sprintf
Procedure from library standard.lib (see section standard_lib).
- Syntax:
sprintf ( string_expression [, any_expressions
] )
- Return:
string
- Purpose:
sprintf(fmt,...); performs output formatting. The first
argument is a format control string. Additional arguments may be
required, depending on the content of the control string. A series
of output characters is generated as directed by the control string;
these characters are returned as a string.
The control string fmt is simply text to be copied,
except that the string may contain conversion specifications.
Do help print; for a listing of valid conversion
specifications. As an addition to the conversions of print ,
the %n and %2 conversion specification does not
consume an additional argument, but simply generates a newline
character.
- Note:
If one of the additional arguments is a list, then it should be
enclosed once more into a list() command, since passing a list
as an argument flattens the list by one level.
Example:
ring r=0,(x,y,z),dp;
module m=[1,y],[0,x+z];
intmat M=betti(mres(m,0));
list l = r, m, M;
string s = sprintf("s:%s,%n l:%l", 1, 2); s;
→ s:1,
→ l:int(2)
s = sprintf("s:%n%s", l); s;
→ s:
→ (0),(x,y,z),(dp(3),C)
s = sprintf("s:%2%s", list(l)); s;
→ s:
→ (0),(x,y,z),(dp(3),C),y*gen(2)+gen(1),x*gen(2)+z*gen(2),1,1
s = sprintf("2l:%n%2l", list(l)); s;
→ 2l:
→ list("(0),(x,y,z),(dp(3),C)",
→ module(y*gen(2)+gen(1),
→ x*gen(2)+z*gen(2)),
→ intmat(intvec(1,1 ),1,2))
→
s = sprintf("%p", list(l)); s;
→ [1]:
→ // characteristic : 0
→ // number of vars : 3
→ // block 1 : ordering dp
→ // : names x y z
→ // block 2 : ordering C
→ [2]:
→ _[1]=y*gen(2)+gen(1)
→ _[2]=x*gen(2)+z*gen(2)
→ [3]:
→ 1,1
→
s = sprintf("%;", list(l)); s;
→ [1]:
→ // characteristic : 0
→ // number of vars : 3
→ // block 1 : ordering dp
→ // : names x y z
→ // block 2 : ordering C
→ [2]:
→ _[1]=y*gen(2)+gen(1)
→ _[2]=x*gen(2)+z*gen(2)
→ [3]:
→ 1,1
→
s = sprintf("%b", M); s;
→ 0 1
→ ------------------
→ 0: 1 1
→ ------------------
→ total: 1 1
→
See also:
fprintf;
print;
printf;
string.
|