is IO::Spec::Unix
如果 Raku 解释器在 Cygwin 上运行,可以通过变量 $*SPEC
获得此类型的对象。
有关此类及其相关类的信息,另请参阅 IO::Spec
。
方法§
方法 abs2rel§
method abs2rel(IO::Path , IO::Path = --> Str)
返回一个表示 $path
的字符串,但相对于 $base
路径。$path
和 $base
都可以是相对路径。$base
默认为 $*CWD
。使用 IO::Spec::Win32
的语义。
方法 canonpath§
method canonpath(Str() , : --> Str)
返回一个字符串,它是 $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 (* --> Str)
连接多个路径片段,并返回结果路径的规范表示形式作为字符串。@parts
是 Str
对象,并且允许包含路径分隔符。
IO::Spec::Cygwin.catdir(<foo/bar ber raku>).say;# OUTPUT: «foo/bar/ber/raku»
方法 catpath§
method catpath (Str , Str , Str --> Str)
与 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 --> Bool)
如果 $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)
与 IO::Spec::Win32.rel2abs
相同,除了在最终结果中将反斜杠替换为斜杠。
方法 split§
method split(IO::Spec::Cygwin: Cool )
与 IO::Spec::Win32.split
相同,除了它将最终结果的所有值中的反斜杠替换为斜杠。
方法 splitpath§
method splitpath(|c --> List)
与 IO::Spec::Win32.splitpath
相同,除了将最终结果的所有值中的反斜杠替换为斜杠。
方法 tmpdir§
method tmpdir(--> IO::Path)
尝试通过检查多个典型目录和环境变量来定位系统的临时目录。如果未找到合适的目录,则使用当前目录。