我是靠谱客的博主 真实大炮,最近开发中收集的这篇文章主要介绍tango.io.Stdout 翻译tango.io.Stdout(r4774),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

tango.io.Stdout(r4774)

License:

BSD style: see license.txt

Version:

Nov 2005: Initial release

Author:

Kris

标准、全局的格式化控制台输出。如果你不需要格式化输出或unicode转换,考虑直接使用模块 tango.io.Console。如果你需要格式化,但不输出到控制台,考虑使用tango.text.convert.Format 代替。

Stdout & Stderr 展示这些用法类型:

1
2
3
4
5
6
7
8
9
10
11
12
13
Stdout ("hello");                       => hello
Stdout (1);                             => 1
Stdout (3.14);                          => 3.14
Stdout ('b');                           => b
Stdout (1, 2, 3);                       => 1, 2, 3         
Stdout ("abc", 1, 2, 3);                => abc, 1, 2, 3        
Stdout ("abc", 1, 2) ("foo");           => abc, 1, 2foo        
Stdout ("abc") ("def") (3.14);          => abcdef3.14

Stdout.format ("abc {}", 1);            => abc 1
Stdout.format ("abc {}:{}", 1, 2);      => abc 1:2
Stdout.format ("abc {1}:{0}", 1, 2);    => abc 2:1
Stdout.format ("abc ", 1);              => abc

注意最后的例子不抛出异常。有几个漏失一个参数的使用情况是合法的,因此我们目前不强迫任何特殊的陷阱机制。

刷新(flushing)输出通过flush()方法获得,或通过一个空的小括号对:

1
2
3
4
5
Stdout ("hello world") ();
Stdout ("hello world").flush;

Stdout.format ("hello {}", "world") ();
Stdout.format ("hello {}", "world").flush;

特殊字符序列,如“ n”是直接写到输出无任何转换(不过可以插入一个输出过滤器根据需要完成转换)。特定平台的新行通过newline()方法产生,当这样配置完成时也会刷新输出:

1
2
3
Stdout ("hello ") ("world").newline;
Stdout.format ("hello {}", "world").newline;
Stdout.formatln ("hello {}", "world");

包括StdoutStderrformat()方法支持格式选项范围,通过tango.text.convert.Layout模块提供并且可以将它扩展;它已经以这种方式配置好支持完整的I18N。要启用法语(FrenchStdout,像这样做:

1
2
3
import tango.text.locale.Locale;

Stdout.layout = new Locale (Culture.getCulture ("fr-FR"));

注意Stdout是一个共享的实体,所以它的每次使用会受到前一个例子的影响。要让应用程序支持多个地区,可以创建多个区域实例并以适当方式缓存他们。

Stdout.layout也可用于只格式化而不输出到控制台如下面的例子:

1
2
char[] str = Stdout.layout.convert("{} and {}", 42, "abc");
//str is "42 and abc"

如果你已经有Stdout导入,这是很有用的。

要注意的是在使用的输出流被这些全局实例暴露--这可以起杠杆作用,例如,要复制一个文件到标准输出,可这样做:

1
Stdout.copy (new File ("myfile"));

注意Stdout不是预期线程安全的。为了使用原子控制台I/Oatomic console I/O),使用tango.util.log.Trace或者标准的记录工具(standard logging facilities)。

alias FormatOutput!(char) Output [private] ¶#
当这个模块被载入时构建 Stdout Stderr
Output Stdout [public, static] ¶# Output Stderr [public, static] ¶#
全局错误输出。

Copyright (c) 2005 Kris Bell. All rights reserved :: Generated by dil on Sat Jun 27 18:19:39 2009. Rendered by kandil.

最后

以上就是真实大炮为你收集整理的tango.io.Stdout 翻译tango.io.Stdout(r4774)的全部内容,希望文章能够帮你解决tango.io.Stdout 翻译tango.io.Stdout(r4774)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部