Ric*_*h_F -1 ruby arrays string
我正在寻找一种方法来限定文件名是否以数组内的后缀结尾。
\n\nfiletypes = %w(.flac .wv)\nDir.open(Dir.pwd).each do |filename|\n q = "." + filename.split(\'.\').last.to_s\n pp filename if filetypes.include?(q)\nend\nRun Code Online (Sandbox Code Playgroud)\n\n我认为必须有某种内置迭代器来遍历限定符数组。我在这里错过了什么吗?
\n\nfiletypes = %w(.flac .wv)\nDir.open(Dir.pwd).each do |filename|\n pp filename if filename.end_with?(filetypes)\nend\nRun Code Online (Sandbox Code Playgroud)\n\n这是行不通的。文档是这样说的:
\n\nend_with?([suffixes]+) \xe2\x86\x92 true or false
所以它表明可以遍历数组,但它对我不起作用。我怎样才能将数组传递给end_with??
您只是缺少 splat 运算符 (*):
filetypes = %w(.flac .wv)
Dir.open(Dir.pwd).each do |filename|
pp(filename) if filename.end_with?(*filetypes)
end
Run Code Online (Sandbox Code Playgroud)