Size: a a a

2020 January 30

E

Eugene in RubyRush
Ni
1) составить хеш с количеством повторений { filename: counts }
2) пройтись по хешу и в зависимости от количества повторений генерировать названия файлов
1) решить задачу :)
источник

RM

R M in RubyRush
Eugene
1) решить задачу :)
:))
источник

RM

R M in RubyRush
Ну с хешем да более звучит хорошо. Попробую
источник

E

Eugene in RubyRush
def filenames(names, index = Hash.new(0))
 names.map do |name|
   index[name] += 1
   if index[name] == 1
     name
   else
     new_name = "#{name}(#{index[name] - 1})"
     filenames([new_name], index).first
   end
 end
end

names = ["photo", "photo", "doc", "photo(1)", "photo"]
puts filenames(names) # ["photo", "photo(1)", "doc", "photo(1)(1)", "photo(2)"]
источник

E

Eugene in RubyRush
извините, не удержался - люблю задачки решать )
источник

E

Eugene in RubyRush
(если найдёте контр-пример - т.е. данные, при которых результат не соответствует условию - пишите)
источник

E

Eugene in RubyRush
с отдельным методом обработки одного имени получше выглядит:

def filename(name, index)
 index[name] += 1

 if index[name] == 1
   name
 else
   new_name = "#{name}(#{index[name] - 1})"
   filename(new_name, index)
 end
end

def filenames(names)
 index = Hash.new(0)

 names.map do |name|
   filename(name, index)
 end
end

names = ["photo", "photo", "doc", "photo(1)", "photo"]
puts filenames(names) # ["photo", "photo(1)", "doc", "photo(1)(1)", "photo(2)"]
источник

N

Ni in RubyRush
Eugene
1) решить задачу :)
Сначала нужно сдать экзамен)
источник

RM

R M in RubyRush
Eugene
извините, не удержался - люблю задачки решать )
А за что извиняться, спасибо
источник

RM

R M in RubyRush
Eugene
с отдельным методом обработки одного имени получше выглядит:

def filename(name, index)
 index[name] += 1

 if index[name] == 1
   name
 else
   new_name = "#{name}(#{index[name] - 1})"
   filename(new_name, index)
 end
end

def filenames(names)
 index = Hash.new(0)

 names.map do |name|
   filename(name, index)
 end
end

names = ["photo", "photo", "doc", "photo(1)", "photo"]
puts filenames(names) # ["photo", "photo(1)", "doc", "photo(1)(1)", "photo(2)"]
Пустой хеш инкрементируется- в значение падает число если прибавлять по единице?
источник

RM

R M in RubyRush
Это свойство хеша или из-за того что в методе хеша второй аргумент ноль?
источник

Э

Эдем in RubyRush
источник

RM

R M in RubyRush
Спасибо Эдем)
источник

Э

Эдем in RubyRush
Иногда удобно что-то считать, используя это свойство
источник

SU

Serg Udo in RubyRush
источник
2020 January 31

V

Vova in RubyRush
a = gets.to_i
b = gets.to_i
c = gets.to_i

d = (a + b + c) / 3


puts 'Первое число:' + a.to_s
puts 'Второе число:' + b.to_s
puts 'Третье число:' + c.to_s
puts 'Среднее:' + d.to_s                                                 может кто подскажет что не так в этом решении - почему просто скопировав не выходит возпроизвести
источник

Э

Эдем in RubyRush
Что не так?
источник

TD

Timur Dmitriev in RubyRush
Воспроизвести или код запустить?
источник

V

Vova in RubyRush
да код запустить
источник

TD

Timur Dmitriev in RubyRush
Кхм, а покажи, как запускаешь... где файл лежит и что в консоли пишешь
источник