gpt4 book ai didi

ruby-on-rails - 使用文件名创建目录哈希

转载 作者:数据小太阳 更新时间:2023-10-29 08:31:51 26 4
gpt4 key购买 nike

我有一个文件路径:

a = "./users/mark/bobapples/Folder/SubFolder/File.txt"

和一个散列

h = {}

映射哈希中所有目录的最有效方法是什么,例如:

a.split("/")
=> [".", "users", "mark", "bobapples", "Folder", "SubFolder", "File.txt"]
h["."] = {} if !h["."]
h["."]["users"] = {} if !h["."]["users"]
h["."]["users"]["mark"] = {} if !h["."]["users"]["mark"]

等等。

最佳答案

不确定我是否完全理解......

是这个吗:

hash=current={};a.split('/')[0..-2].each{|dir| current[dir]={};current=current[dir]}

hash
=> {"."=>{"users"=>{"mark"=>{"bobapples"=>{"Folder"=>{"SubFolder"=>{}}}}}}}

或使用注入(inject)更短:

a.split('/')[0..-2].inject(hash={}){|current,dir| current[dir]={}}

关于ruby-on-rails - 使用文件名创建目录哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25642523/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com