Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.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_Path_Pathname - Fatal编程技术网

使用Ruby路径名访问相对目录

使用Ruby路径名访问相对目录,ruby,path,pathname,Ruby,Path,Pathname,如果我有一个指向目录的相对路径,我如何将它与Ruby的路径名或文件库一起使用来获取目录本身 p=Pathname.new('dir/') p.dirname=>。 p.directory?=>错误 我试过“/dir/”、“dir/”、“dir” 我想要的是p.dirname返回'dir'。我不想指向“dir”中的另一个文件或目录。您需要添加另一个级别,如 p = Pathname.new('dir/.') 现在目录名为“dir”您需要添加另一个级别,如 p = Pathname.new('d

如果我有一个指向目录的相对路径,我如何将它与Ruby的路径名或文件库一起使用来获取目录本身

p=Pathname.new('dir/')

p.dirname=>。

p.directory?=>错误

我试过“/dir/”、“dir/”、“dir”


我想要的是p.dirname返回'dir'。我不想指向“dir”中的另一个文件或目录。

您需要添加另一个级别,如

p = Pathname.new('dir/.') 

现在目录名为“dir”

您需要添加另一个级别,如

p = Pathname.new('dir/.') 

现在目录名为“dir”

您需要添加另一个级别,如

p = Pathname.new('dir/.') 

现在目录名为“dir”

您需要添加另一个级别,如

p = Pathname.new('dir/.') 
现在目录名为“dir”

文件。展开路径(文件) =>“/tmp/somefile”

File.dirname(File.expand_path(File)) =>“/tmp”

文件。展开路径(文件) =>“/tmp/somefile”

File.dirname(File.expand_path(File)) =>“/tmp”

文件。展开路径(文件) =>“/tmp/somefile”

File.dirname(File.expand_path(File)) =>“/tmp”

文件。展开路径(文件) =>“/tmp/somefile”

File.dirname(File.expand_path(File))

=>“/tmp”

p.to_s
p.basename.to_
显然,我正在开发一个通用解决方案,该解决方案还需要处理基本级别的目录。在正常情况下,dirname可以正常工作(/etc/dir/file=>/etc/dir),这就是我想使用它的原因。在这种情况下,to_s和basename没有任何意义。这个问题清楚地说明了我的目的,请不要投反对票并给出不相关的答案。您想使用
dirname
返回非目录名的内容吗?您需要添加另一个级别,如
p=Pathname.new('dir/)
现在目录名为“dir”,Dirname返回目录“dir/”中的内容。我不认为你问的很清楚。@johnlarooy:IMO'dir/'显然是一个目录。但如果不增加另一个级别就不可能了,那么这就回答了我的问题,谢谢。如果你把答案寄出去,我会接受的
p.basename.to_
显然,我正在开发一个通用解决方案,该解决方案还需要处理基本级别的目录。在正常情况下,dirname可以正常工作(/etc/dir/file=>/etc/dir),这就是我想使用它的原因。在这种情况下,to_s和basename没有任何意义。这个问题清楚地说明了我的目的,请不要投反对票并给出不相关的答案。您想使用
dirname
返回非目录名的内容吗?您需要添加另一个级别,如
p=Pathname.new('dir/)
现在目录名为“dir”,Dirname返回目录“dir/”中的内容。我不认为你问的很清楚。@johnlarooy:IMO'dir/'显然是一个目录。但如果不增加另一个级别就不可能了,那么这就回答了我的问题,谢谢。如果你把答案寄出去,我会接受的
p.basename.to_
显然,我正在开发一个通用解决方案,该解决方案还需要处理基本级别的目录。在正常情况下,dirname可以正常工作(/etc/dir/file=>/etc/dir),这就是我想使用它的原因。在这种情况下,to_s和basename没有任何意义。这个问题清楚地说明了我的目的,请不要投反对票并给出不相关的答案。您想使用
dirname
返回非目录名的内容吗?您需要添加另一个级别,如
p=Pathname.new('dir/)
现在目录名为“dir”,Dirname返回目录“dir/”中的内容。我不认为你问的很清楚。@johnlarooy:IMO'dir/'显然是一个目录。但如果不增加另一个级别就不可能了,那么这就回答了我的问题,谢谢。如果你把答案寄出去,我会接受的
p.basename.to_
显然,我正在开发一个通用解决方案,该解决方案还需要处理基本级别的目录。在正常情况下,dirname可以正常工作(/etc/dir/file=>/etc/dir),这就是我想使用它的原因。在这种情况下,to_s和basename没有任何意义。这个问题清楚地说明了我的目的,请不要投反对票并给出不相关的答案。您想使用
dirname
返回非目录名的内容吗?您需要添加另一个级别,如
p=Pathname.new('dir/)
现在目录名为“dir”,Dirname返回目录“dir/”中的内容。我不认为你问的很清楚。@johnlarooy:IMO'dir/'显然是一个目录。但如果不增加另一个级别就不可能了,那么这就回答了我的问题,谢谢。如果您发布答案,我将接受您的回答。请注意,我的初衷,即不添加其他级别,不允许使用路径名。请注意,我的初衷,即不添加其他级别,不允许使用路径名。请注意,我的初衷,即不添加其他级别,不允许使用路径名使用路径名。请注意,我的初衷,即在不添加其他级别的情况下使用路径名是不可能的。