"~/Downloads" `ls #{dir}` #=> "110912-font-awesome.zip\n" Dir.e-6ren">
gpt4 book ai didi

ruby - 如果路径以 'Dir.exist?' 开头,为什么 '~' 不起作用?

转载 作者:数据小太阳 更新时间:2023-10-29 08:18:08 25 4
gpt4 key购买 nike

我对发生的事情感到困惑。

dir = "~/Downloads"
#=> "~/Downloads"

`ls #{dir}`
#=> "110912-font-awesome.zip\n"

Dir.exist? dir
#=> false

为什么会这样?

最佳答案

因为当您使用 `ls` 时,您运行的是 shell 命令,而 ~ 是与 shell 相关的东西(我想它是 $HOME 变量的快捷方式)。但是 Dir.exist? 是纯 ruby​​,它对 shell 一无所知,因此该目录不存在。

总之,这行得通

Dir.exist?(ENV['HOME'])

关于ruby - 如果路径以 'Dir.exist?' 开头,为什么 '~' 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44454034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com