class IO::Special does IO { }

用作文件句柄中特殊标准输入 $*IN 和输出 $*OUT$*ERR$.path 属性。提供 IO::Handle 的桥接接口,主要是文件测试和字符串化。

方法§

方法 new§

method new(:$!what!)

需要一个必需的属性 what。你不太可能需要自己构造其中一个对象。

方法 what§

say $*IN.path.what;  # OUTPUT: «<STDIN>␤» 
say $*OUT.path.what# OUTPUT: «<STDOUT>␤» 
say $*ERR.path.what# OUTPUT: «<STDERR>␤»

返回字符串 '<STDIN>''<STDOUT>''<STDERR>' 之一,指定特殊 IO 设备的类型。

方法 WHICH§

method WHICH(IO::Special:D: --> Str)

这会返回一个标识对象的字符串。该字符串由实例的类型 (IO::Special) 和 what 属性组成

$*IN.path.what;  # OUTPUT: «<STDIN>␤» 
$*IN.path.WHICH# OUTPUT: «IO::Special<STDIN>␤»

方法 Str§

method Str(IO::Special:D:)

这会返回 '<STDIN>''<STDOUT>''<STDERR>'(视情况而定)。

方法 IO§

method IO(IO::Special:D: --> IO::Special)

返回调用者。

say $*IN.path.IO.what;  # OUTPUT: «<STDIN>␤» 
say $*IN.path.what;     # OUTPUT: «<STDIN>␤»

方法 e§

method e(IO::Special:D: --> True)

'exists' 文件测试运算符,始终返回 True

方法 d§

method d(IO::Special:D: --> False)

'directory' 文件测试运算符,始终返回 False

方法 f§

method f(IO::Special:D: --> False)

'file' 文件测试运算符,始终返回 False

方法 s§

method s(IO::Special:D: --> 0)

'size' 文件测试运算符,始终返回 0

方法 l§

method l(IO::Special:D: --> False)

'symbolic links' 文件测试运算符,始终返回 False

方法 r§

method r(IO::Special:D: --> Bool)

'read access' 文件测试运算符,当且仅当此实例表示标准输入句柄 (<STDIN>) 时返回 True

方法 w§

method w(IO::Special:D: --> Bool)

'write access' 文件测试运算符,当且仅当此实例表示标准输出 (<STOUT>) 或标准错误 (<STDERR>) 句柄时返回 True

方法 x§

method x(IO::Special:D: --> False)

'execute access' 文件测试操作符,始终返回 False

方法 modified§

method modified(IO::Special:D: --> Instant)

文件句柄的上次修改时间。它始终返回 Instant 类型对象。

方法 accessed§

method accessed(IO::Special:D: --> Instant)

文件句柄的上次访问时间。它始终返回 Instant 类型对象。

方法 changed§

method changed(IO::Special:D: --> Instant)

文件句柄的上次更改时间。它始终返回 Instant 类型对象。

方法 mode§

method mode(IO::Special:D: --> Nil)

文件句柄的模式,它始终返回 Nil