jjm*_*elo 7 windows perl6 raku
Perl 6确实包含一些类,这些类包括用于指定路径的通用操作系统以及$*SPEC
包含文件规范的类。默认情况下,新路径使用SPEC的当前值。但是,从文档中还不清楚是否做了类似的事情
mkdir IO::Path.new( 'a/b/c' );
Run Code Online (Sandbox Code Playgroud)
在所有操作系统上都能正常工作,或者您需要专门创建与操作系统相关的代码。任何的想法?
我正在Windows 7(根据标签似乎是您最感兴趣的OS之一)上尝试使用
This is Rakudo Star version 2019.03.1 built on MoarVM version 2019.03
implementing Perl 6.d.
Run Code Online (Sandbox Code Playgroud)
它似乎像那样工作
> with mkdir IO::Path.new('a/b/c') { say .e; say .absolute }
True
C:\rakudo\a\b\c
Run Code Online (Sandbox Code Playgroud)
该目录确实已正确创建。
请注意,IO::Path
该IO::Spec
对象$*SPEC
在其构造函数中默认使用,因此该对象可以使用必要的OS相关部分。在Rakudo中,IO::Spec
确实是mkdir通过.absolute使用的。还有一个烤测试约/
在IO::Path
成为\
Windows上。
正如Elizabeth Mattijsen指出的那样,Windows似乎仅支持正斜杠本身。其他人则声称这种情况永远存在:
实际上,Windows的每个版本以及MS-DOS从2.0开始的每个版本都接受“ /”作为路径定界符。