RM
def self.filenames(names)я просто не понял решение, решил попробовать сам, потому что рекурсию не смог понять. ну вышло, громоздко, но с одним циклом без рекурсий
hsh = Hash.new(0)
new_names = []
names.each do |name|
hsh[name] += 1
if hsh[name] == 1
if new_names.include? name
new_names << name + "(#{hsh[name]-1})"
else
new_names << name
end
else
new_names << name + "(#{hsh[name]-1})"
end
end
new_names
end
name = ["photo", "photo", "doc", "photo(1)", "photo"]
p filenames(name)
#["photo", "photo(1)", "doc", "photo(1)(1)", "photo(2)"]