Tango库Stdout的使用
Stdout是tango库中标准的执行格式化输出到控制台功能的方法,相当于java语言中的System.out.Printf或C语言中的Printf。
Stdout在tango.io.Stdout模块中预定义,它支持的类型有很宽的范围,把原来的表示形式转换成文本形式输出到控制台。它支持转换的类型有整数、浮点数、UTF8、UTF16、UTF32等等。
基本用法
像大多数库一样,Stdout可以接受多个参数,返回一些连锁引用,如下例:
import tango.io.Stdout;
void main ()
{
//在控制台输出”Green”。
Stdout(“Green”).newline;
//在控制台输出”100个绿色的玻璃瓶子”,使用两个参数
Stdout(100)(“个绿色的玻璃瓶子”).newline;
}
在上例中,“.newline”的意思是在行末添加一个新行符,相当于传统用法的“\n”。也可以使用“.newline”的一个变体形式“.formatln”,它也含有添加一个新行符的意思。
Stdout.formatln (100)(“个绿色的玻璃瓶子”);
如果你的当前输出不想换行,可以用“.flush”或简单的在后面添加一个空括号“()”:
Stdout(100)(“个绿色的玻璃瓶子”).flush;
或
Stdout(100)(“个绿色的玻璃瓶子”)();
或
Stdout.format(100)(“个绿色的玻璃瓶子”);
Stdout还支持方便的变量参数(Vararg)型调用
Stdout (“{}个绿色的玻璃瓶子”,100).newline;
这里的“{}”(一对空大括号)是一个变量,叫做format item(格式项),它将被替换成后面的参数“100”。“{}”里可以有三个任意选择的三个元素用以详细说明要把替换的参数转换成什么样子,形式为
“[索引][,对齐形式][:格式字符串]”
“索引”指明用后面的哪个参数进行替换(从0数起),
char[] a=”绿色的玻璃瓶子”;
char[] b=”靠在桌子上”;
int c=50;
//输出“50个绿色的玻璃瓶子靠在桌子上”
Stdout (“{2}个{0}{1}”, a, b ,c).newline;
//输出“绿色的玻璃瓶子个50靠在桌子上”,即按参数排列//顺序输出
Stdout (“{}个{}{}”, a, b ,c).newline;
“对齐形式”是一个有符号数,如果是正数,就右对齐,如果是负数就左对齐(注意:单独使用这一部分时,前面要加“,”。)。如下例:
int a=100;
Stdout.format(”a是|{,+10}|”,a).newline;//输出”a是| 100|”
Stdout.format(”a是|{,-10}|”,a).newline;//输出”a是|100 |”
第三个部分是格式字符串部分,支持如下格式
格式 描述
d 十进制格式,这是默认的格式
x 小写十六进制格式
X 大写十六进制格式
o,O 八进制格式
如表,每个选项把一个数字转换为相应格式的数字字面值字符串表示出来。如果提供的数字为阿拉伯数字格式,转换后也为阿拉伯数字串;如果提供的数字是十六进制字母表示的数,转换后的十六进制数也用这种格式表示;如果不是数字而是字符串,它直接输出相应的字符串。可以在格式后添加一个正数表示用最少几位数字来描述给定的数字。如下例:
module sl;
import tango.io.Stdout;
void main ()
{
int a=100;
char []b="中国人";
//用最小4位十进制格式显示变量a
Stdout.format("a的十进制格式是|{:d4}|",a).newline;
//用最少8位十六进制格式显示变量a
Stdout.format("a的十六进制格式是 {:x8}",a).newline;
//用最少16位十六进制格式显示变量a
Stdout.format("a的16位十六进制格式是 {:X16}",a).newline;
//用最少8位八进制格式显示变量a
Stdout.format("a的八进制格式是{:o8}",a).newline;
//用最少16位八进制格式显示变量a
Stdout.format("a的八进制格式是{:O16}",a).newline;
//字符串变量直接输出,即格式部分对它不起限定作用
Stdout.format("b的十六进制格式是|{0,-10:x7}|",b).newline;
}
分享到:
相关推荐
《算法》中,使用StdOut.printf () 语句需要的algs4.jar文件 下载及配置。《算法》第四版的jar包08-02 《算法(第4版)》是Sedgewick之巨著,与高德纳TAOCP一脉相承,是算法领域经典的参考书,涵盖所有程序员必须掌握...
分享一个JAVA StdOut的工具类,此工具类主要用于输出等一系列变换,推荐大家在我博客百度云盘下载。
stdout.txt
重定向标准输出STDOUT的内容到文本框的demo
检查stdout或stderr是否是交互式的
主要介绍了详解使用python的logging模块在stdout输出的相关资料,需要的朋友可以参考下
使用 unittest.mock 模块中的 patch() 函数, 使用起来非常简单,可以为单个测试模拟 sys.stdout 然后回滚, 并且不产生大量的临时变量或在测试用例直接暴露状态变量。 作为一个例子,我们在 mymodule 模块中定义...
piper - 一个小devtool,旨在通过安全连接(TLS)从进程立即共享stdout
/usr/bin/env pythonimport syssys.stdout.write(“stdout1 “)sys.stderr.write(“stderr1 “)sys.stdout.write(“stdout2 “)sys.stderr.write(“stderr2 “)其中的sys.stdout.write也可以换成print。运行这程序,...
本人偶得在 Visual C++ 中进行输入输出重定向的办法,比通常的做法“freopen”更加的灵活和方便,特在此共享。目前,代码正在不断地摸索和完善中,先把“输出”(stdout)部分提供给大家
websocketd是一个小型命令行工具,它将包装现有的命令行界面程序,并允许通过WebSocket访问它。
前端开源库-catch-stdoutcatch stdout,catch stdout(用于测试)
def writeline(text, stream=sys.stdout): stream.write(text + ' ') with open('/path/to/file', 'w') as f: # writes to /path/to/file writeline('foo', f) # writes to standard output writeline('bar') ...
- h , - - help show this help message and exit - d , - - dir Path to direcotry contain CVs - f , - - fpath Path to CV file - o , - - output Path to output csv - v , - - verbose Print to stdout使用文件...
为IRB提示,错误, $stderr和$stdout 使用“哈希火箭”(#=>)显示IRB结果 用法 require 'fancy_irb' FancyIrb.start 您可以传递选项哈希。 这些是默认值: DEFAULT_OPTIONS = { :rocket_mode => true, # ...
It uses the inherited handles for STDIN and STDOUT to access the pipe created by the parent. The parent process reads from its input file and writes the information to a pipe. The child receives text...
通过PPP卫星坐标与IGS坐标的差值,计算PPP的STD
is-interactive检查stdout或stderr是否是交互式的它检查流是否为TTY,而不是哑终端,并且不在CI中运行。 这对于决定是否在交互式交互中呈现交互式UI或动画很有用。检查stdout或stderr是否是交互式的。它检查流是TTY...
Running of this program is provided with output to the standard stdout stream result of multiplying of 2 numbers