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