0. やりたいこと
例えば/fizz/buzz/hip/hop
というpathだったとすると、
/fizz
/fizz/buzz
/fizz/buzz/hip
/fizz/buzz/hip/hop
こういう風にしたい。
要するに
['a', 'b', 'c', 'd']
という配列を加工して['a','ab','abc','abcd']
という配列を得たい。
1. とりあえずできたけど他にもやり方があるような気がする
target = '/fizz/buzz/hip/hop'
tmparr = target.split("/").delete_if(&:empty?)
dir_array = tmparr.map.with_index { |x,i| (0..i).map {|t| ['/',tmparr[t]].join }.join }
p dir_array
#=> ['/fizz','/fizz/buzz','/fizz/buzz/hip','/fizz/buzz/hip/hop']
-
map.with_index
を利用
時間がかかったくせに今作ってるモジュールで結局この処理は使わなかった。備忘のため保存。