2016-06-11 9 views
0

私はファイルとディレクトリ持っている:私はまた、どのように私はハッシュから値を使用してファイル名を変更することができ、このようなペアハッシュから文字列値を使用してファイル名の名前を変更するにはどうすればよいですか?

rename_filenames = 
{ "spider" => "bear", 
    "elephant" => "rat", 
    "monkey" => "tiger" } 

を含む、ハッシュを持って

folder/ 
    -spider.rb 
    -elephant.rb 
    -monkey.rb 

を?

folder/ 
    -bear.rb 
    -rat.rb 
    -tiger.rb 

答えて

2

あなたは、単にハッシュを反復し、それに応じて名前を変更することができます。

rename_filenames.each do |old_name, new_name| 
    File.rename("folder/#{old_name}.rb", "folder/#{new_name}.rb") 
end 
+0

答えは良好であり、実際に完全に問題を解決します。しかし、ファイル名に完全一致以外の他の記号が含まれている場合はどうでしょうか?この場合、私は完全に異なるアプローチを使用しなければならないでしょう。 –

+0

'ファイル名には他のシンボルが含まれています'とは何ですか?グローブ?正規表現? ...? – andlrc

+0

ファイルの名前が '5643_spider.rb、3232_elephant.rb'などの場合を想像してください。 –

関連する問題