class IO::Spec::Cygwin is IO::Spec::Unix { }

如果 Raku 解释器在 Cygwin 上运行,可以通过变量 $*SPEC 获得此类型的对象。

有关此类及其相关类的信息,另请参阅 IO::Spec

方法§

方法 abs2rel§

method abs2rel(IO::Path:D $pathIO::Path:D $base = $*CWD --> Str:D)

返回一个表示 $path 的字符串,但相对于 $base 路径。$path$base 都可以是相对路径。$base 默认为 $*CWD。使用 IO::Spec::Win32 的语义。

方法 canonpath§

method canonpath(Str() $path:$parent --> Str:D)

返回一个字符串,它是 $path 的规范表示形式。如果将 :$parent 设置为 true,还将清理对父目录的引用。注意:例程不会访问文件系统。

IO::Spec::Cygwin.canonpath(C:\foo\\..\bar\..\ber).say;
# OUTPUT: «C:/foo/../bar/../ber␤» 
 
IO::Spec::Cygwin.canonpath("foo///./../bar/../ber").say;
# OUTPUT: «foo/../bar/../ber␤» 
 
IO::Spec::Cygwin.canonpath("foo///./../bar/../ber":parent).say;
# OUTPUT: «ber␤»

方法 catdir§

method catdir (*@parts --> Str:D)

连接多个路径片段,并返回结果路径的规范表示形式作为字符串。@partsStr 对象,并且允许包含路径分隔符。

IO::Spec::Cygwin.catdir(<foo/bar ber raku>).say;
# OUTPUT: «foo/bar/ber/raku␤»

方法 catpath§

method catpath (Str:D $volumeStr:D $dirStr:D $file --> Str:D)

IO::Spec::Win32.catpath 相同,除了还将末尾的所有反斜杠更改为斜杠

IO::Spec::Cygwin.catpath('C:''/some/dir''foo.txt').say;
# OUTPUT: «C:/some/dir/foo.txt␤» 
 
IO::Spec::Cygwin.catpath('C:''/some/dir''').say;
# OUTPUT: «C:/some/dir␤» 
 
IO::Spec::Cygwin.catpath('''/some/dir''foo.txt').say;
# OUTPUT: «/some/dir/foo.txt␤» 
 
IO::Spec::Cygwin.catpath('E:''''foo.txt').say;
# OUTPUT: «E:foo.txt␤»

方法 is-absolute§

method is-absolute(Str:D $path --> Bool:D)

如果 $path 以斜杠 ("/") 或反斜杠 ("\") 开头,即使它们带有组合字符,并且前面可以选择带有卷,则返回 True

say IO::Spec::Cygwin.is-absolute: "/foo";        # OUTPUT: «True␤» 
say IO::Spec::Cygwin.is-absolute: "/\x[308]foo"# OUTPUT: «True␤» 
say IO::Spec::Cygwin.is-absolute: C:\foo;      # OUTPUT: «True␤» 
say IO::Spec::Cygwin.is-absolute: "bar";         # OUTPUT: «False␤»

方法 join§

method join(|c)

IO::Spec::Win32.join 相同,除了在最终结果中将反斜杠替换为斜杠。

方法 rel2abs§

method rel2abs(|c --> List:D)

IO::Spec::Win32.rel2abs 相同,除了在最终结果中将反斜杠替换为斜杠。

方法 split§

method split(IO::Spec::Cygwin: Cool:D $path)

IO::Spec::Win32.split 相同,除了它将最终结果的所有值中的反斜杠替换为斜杠。

方法 splitpath§

method splitpath(|c --> List:D)

IO::Spec::Win32.splitpath 相同,除了将最终结果的所有值中的反斜杠替换为斜杠。

方法 tmpdir§

method tmpdir(--> IO::Path:D)

尝试通过检查多个典型目录和环境变量来定位系统的临时目录。如果未找到合适的目录,则使用当前目录。