如何让Perl 6运行在Windows上运行?

时间:2018-04-25 22:56:22

标签: windows perl6

我在Windows上玩library(tidyr) library(tibble) test <- mtcars %>% rownames_to_column() %>% gather() object.size(mtcars) #6736 bytes object.size(test) #16960 bytes 。尝试使用run并不起作用,但也许我错过了一些东西:

dir

输出只是规则和退出代码行:

put '-' x 70;
my $p1 = run 'dir', :out;
put "exit code: {$p1.exitcode}";
put $p1.out.slurp(:close);

put '-' x 70;
my $p2 = Proc.new: :out;
put "exit code: {$p2.exitcode}";
$p2.spawn: 'dir';
$p2.out.slurp(:close).say;

---------------------------------------------------------------------- exit code: 1 ---------------------------------------------------------------------- exit code: 1 可以正常使用dir,但这是一种不同的做事方式。我可以做到这一点,但是它会通过shell想要避免的shell:

run

2 个答案:

答案 0 :(得分:8)

这是预期的行为,因为public class MyClass { static void Main(string[] args) { MyClass myObject = new MyClass(); myObject.Increase(); myObject.Print(); // output: 1, 1 myObject = new MyClass(); // new instance => only static variables are stored in the class and will not be dismissed. myObject.Increase(); myObject.Print(); // output 1, 2 } private int NotStaticItem = 0; // one per instance/object private static int StaticItem = 0; // one per class public void Increase() { NotStaticItem++; StaticItem++; } public void Print() { Console.WriteLine("NotStaticItem: {0}", NotStaticItem); Console.WriteLine("StaticItem: {0}", StaticItem); } } 是一个shell命令,而不是可执行文件。

如果你点击⊞Win + R 打开运行对话框并输入dir,它将因同样的原因失败(除非你碰巧有在您的路径中某处不相关的可执行文件dir

答案 1 :(得分:0)

那可能是a bug related to libuv's handling of argumentsdir是一个内部cmd.exe命令。我自己并不太熟悉Windows,但我认为提交问题会更好。