Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将输出文件放在ruby中的文件夹下_Ruby_Rake - Fatal编程技术网

将输出文件放在ruby中的文件夹下

将输出文件放在ruby中的文件夹下,ruby,rake,Ruby,Rake,在Ruby中,我使用下面的代码行在向输出文件运行脚本时编写日志文件,如: system("ruby #{file} > #{file}.out") 但是,现在我想创建一个新文件夹,然后希望将输出文件放在此文件夹下,我尝试了以下方法: Dir::mkdir(directory_name) system("ruby #{file} > directory_name/#{file}.out") 但是,我没有注意到文件夹“directory_name”下的输出文件,有人请给我指路吗?非常

在Ruby中,我使用下面的代码行在向输出文件运行脚本时编写日志文件,如:

system("ruby #{file} > #{file}.out")
但是,现在我想创建一个新文件夹,然后希望将输出文件放在此文件夹下,我尝试了以下方法:

Dir::mkdir(directory_name)
system("ruby #{file} > directory_name/#{file}.out")

但是,我没有注意到文件夹“directory_name”下的输出文件,有人请给我指路吗?非常感谢。

目录名称
变量,在这种情况下,您应该在第二行中写入
{directory名称}
?或者它是目录的名称,在这种情况下,您应该在第一行引用它?

您可能会遇到类似的问题,因为
系统
命令在其自己的shell中运行-因此工作目录可能与您所做的目录不在上下文中

通常,如果可以的话,最好不要混合使用unix策略

system("cd #{File.expand_path(directory_name)} && ruby #{file} > #{directory_name}/#{file}.out")

你有各种奇怪的技术。如果您使用
system
运行ruby文件,那么您应该如何使用bashIs
directory\u name
变量,在这种情况下,您应该在第二行中写入
{directory\u name}
?或者它是目录的名称,在这种情况下,你应该在第一行引用它?@Thomas:太好了,你的回答很快就解决了我的问题,是的,“目录名”是一个变量,我写了#{directory_name}作为你的建议来遵守我的期望。非常感谢。投票结束,因为太本地化了。这个问题不太可能对未来的来访者有所帮助,他们也会这样投票。但是因为我显然回答了这个问题,所以我把我的评论作为一个答案,我把我的第二行代码修改为:system(“ruby{file}>{directory{u name}/{file}.out”),这是托马斯的建议,它适合我。