我在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
答案 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 arguments。 dir
是一个内部cmd.exe
命令。我自己并不太熟悉Windows,但我认为提交问题会更好。