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;
}
分享到:
相关推荐
在Unix/Linux系统中,可以使用以下几种方式来重定向STDOUT: 1. **>`file`**: 这将STDOUT重定向到`file`,如果`file`已存在,其内容会被清空;若不存在,会创建新文件。 2. **>>$file**:这将STDOUT追加到`file`,...
《算法》中,使用StdOut.printf () 语句需要的algs4.jar文件 下载及配置。《算法》第四版的jar包08-02 《算法(第4版)》是Sedgewick之巨著,与高德纳TAOCP一脉相承,是算法领域经典的参考书,涵盖所有程序员必须掌握...
分享一个JAVA StdOut的工具类,此工具类主要用于输出等一系列变换,推荐大家在我博客百度云盘下载。
从给定的文件信息来看,主要涉及的知识点集中在C++编程中的文件重定向、标准输入输出流(stdin, stdout, stderr)的管理以及Windows环境下的多线程编程。以下是对这些知识点的详细解析: ### 文件重定向与标准流...
总结来说,检查`stdout`或`stderr`是否是交互式的关键在于使用`process.stdout.isTTY`和`process.stderr.isTTY`属性,以及在必要时引入第三方库如`sindresorhus/is-interactive`来确保跨平台兼容性。理解这一点对于...
然后,当其他进程(使用 Go-piper 客户端库)启动时,它们会通过 TLS 连接到这个服务器,将 stdout 流实时发送到服务器。这样,开发者就可以在一个集中的位置查看所有进程的输出,而无需在终端窗口之间切换。 在...
### 使用Python的Logging模块在Stdout输出的两种方法 #### 前言 在Python开发过程中,使用`logging`模块来记录程序运行时的日志是非常常见的做法。这不仅可以帮助我们更好地跟踪程序的状态,还能在出现问题时提供...
有时我们需要重定向stdout,stderr,stdin。比如:将输出写入文件,又或者我们要将命令行程序输出结果显示到Windows对话框中。源码示范如何在Windows中实现,封装了几个简单易用的函数。
本文将深入探讨名为`websocketd`的工具,这是一个用Go语言开发的小型命令行工具,它能将任何命令行程序的输出(stdout和stderr)实时地通过WebSocket服务进行传输。 首先,让我们理解`websocketd`的工作原理。`...
在Windows系统中,Visual C++通常使用C运行时库(CRT)来处理输入输出。标准输出(stdout)默认被连接到控制台,以便显示程序的输出。然而,有时候我们需要将输出重定向到文件、另一个程序,甚至内存中,以便于调试...
在实际使用`catch-stdout`时,开发者可以简单地导入库,然后在测试用例开始前启动捕获,结束后停止并检查捕获到的内容。这样,就可以将测试与实际运行时的输出环境隔离开,确保测试的独立性和准确性。例如: ```...
标题“STD_stdout_”暗示了我们正在处理一个与标准输出(stdout)相关的程序或脚本,可能用于计算某种标准偏差(STD)。在这个上下文中,它可能是关于精密定位服务(PPP)的精度评估,通过比较PPP(Precise Point ...
使用 unittest.mock 模块中的 patch() 函数, 使用起来非常简单,可以为单个测试模拟 sys.stdout 然后回滚, 并且不产生大量的临时变量或在测试用例直接暴露状态变量。 作为一个例子,我们在 mymodule 模块中定义...
/usr/bin/env pythonimport syssys.stdout.write(“stdout1 “)sys.stderr.write(“stderr1 “)sys.stdout.write(“stdout2 “)sys.stderr.write(“stderr2 “)其中的sys.stdout.write也可以换成print。运行这程序,...
为了解决这个问题,可以使用`sys.stdout.write()`结合一些特殊的转义序列来实现动态刷新屏幕的功能。 #### 实现思路与步骤 1. **引入必要的模块**:为了实现我们的目标,我们需要导入几个模块:`datetime`用于获取...
在Python编程中,使用标准库中的`sys.stdout`作为函数的默认参数是一种常见的做法。本文将深入探讨这一主题,并结合给定的内容来分析其中涉及的关键知识点。 #### 1. `sys.stdout`的基本概念 - **定义**:`sys....
如果你需要换行,可以使用`\n`作为转义字符,或者使用`sys.stdout.write('\n')`。 另一方面,`print`是Python内置的一个函数,它提供了一种更方便的方式来输出信息。`print`函数不仅能够输出字符串,还可以接受多个...
本文将深入探讨如何在Python中使用`subprocess`模块从子进程中实时获取输出。 首先,`subprocess.Popen`是`subprocess`模块中的主要类,用于启动新的进程。在`main.py`中,我们创建了一个`Popen`实例来执行`...
- 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使用文件...