私はRubyを学んでいますが、暗黙の戻り値全体に問題があります。これが空のベクトルを返す理由を誰か教えてください:
3 def get_filenames(path)
4 filenames = []
5
6 if (path == ".") || (path == "..")
7 []
8 elsif File.directory? path
9 Dir.entries(path).each do |sub_path|
10 filenames += get_filenames(sub_path)
11 end
12 else #presumably it's a file
13 [File.basename(path,".*")]
14 end
15 end
引数パスから再帰的に検索したときに見つかったすべてのファイル名 (拡張子を除く) の配列を返す必要があります。
「/tmp」で関数を呼び出し、tmp に「A.txt」と「Bm」の 2 つのファイルと、「C.exe」という 1 つのファイルを含むディレクトリが含まれているとします。この関数が ["A","B","C"] を返すようにしたい