我正在遍历this_dir
,
this_dir = Dir.new(".")
puts
每个.rb文件。使用文件夹(不是.rb的所有文件),我想打开它们,列出它们的内容,并将它们设置为变量。我创建了一个数组names
来获取变量名,并计划通过对其进行调用names_index
并添加该变量来对其进行迭代1
。
names = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'n', 'm', 'o', 'p']
names_index = 0
不幸的是,我知道如何处理数组值最接近的是puts
它们,这使它成为字符串。
this_dir.each do |file|
if file.include?("*.rb")
puts file
else
....
end
end
如何将数组值转换为变量名?
如果只想列出.rb
目录及其子目录中的所有文件,请Dir.glob
与**
模式一起使用以递归子目录,如下所示:
Dir.glob('./**/*.rb').each do |file|
puts file
end
通常,为了存储许多项目而动态创建变量名是没有意义的。在这种情况下(当Dir.glob
无法使用上述更好的解决方案时),您应该只使用Array(有时是Hash)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句