2017-06-09 4 views

答えて

5

`ls`を使うときはシェルコマンドを実行し、~は何かシェル関連である(私はそれが$HOME変数のショートカットだと思う)。しかし、Dir.exist?は純粋なルビーです。シェルについては何も知らないので、ディレクトリは存在しません。とにかく

、これは

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

File.expand_pathを作品~を拡張することができます

dir = File.expand_path('~/Downloads') 
#=> /home/stefan/Downloads 

Dir.exist?(dir) 
#=> true 
+0

うわー、それはクールだ:) – Ursus

+0

@Ursus - これはおそらく何のすべてのルビー 'File'と' Dir'機能ですパフォーマンス上の問題があまりない場合は、あなたのために行う必要があります。 –

関連する問題