1. Для групповых операций с файлами используются маски имен файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которой также могут встречаться следующие символы. Символ «?» (вопросительный знак) означает ровно один произвольный символ. Символ «*» (звездочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность. В каталоге находятся 5 файлов: fort.docx; ford.docx; lord.doc; orsk.dat; port.doc. Определите, по какой из масок из них будет отобрана указанная группа файлов: fort.docx; ford.docx; lord.doc; port.doc. 1) *o?*.d?* 2) ?o*?.d* 3) *or*.doc? 4) ?or?.doc?
# Код на ruby 2.2.3p173 def zadanie(line, time) line = line.gsub(/[^MD]/, "") time.times { |i| k = 0 while k < line.size - 1 do if line[k..k + 1] == "MD" line[k], line[k + 1] = line[k + 1], line[k] k+=1 end k+=1 end p [i,line] } return line end # # Примеры применения p zadanie("MMDMMMDDDMDDDMD", 10)
fort.docx; ford.docx; lord.doc; port.doc.
1) *o?*.d?*
2) ?o*?.d*
3) *or*.doc?
4) ?or?.doc?
def zadanie(line, time)
line = line.gsub(/[^MD]/, "")
time.times { |i|
k = 0
while k < line.size - 1 do
if line[k..k + 1] == "MD"
line[k], line[k + 1] = line[k + 1], line[k]
k+=1
end
k+=1
end
p [i,line]
}
return line
end
# # Примеры применения
p zadanie("MMDMMMDDDMDDDMD", 10)
Вывод
[1, "MDMDMMDMDDDMDDDM"]
[2, "DMDMDMMDMDDDMDDM"]
[3, "DDMDMDMMDMDDDMDM"]
[4, "DDDMDMDMMDMDDDMM"]
[5, "MDMDMMDMDDMM"]
[6, "MDMDMMDMDMM"]
[7, "MDMDMMDMMM"]
[8, "MDMDM"]
[9, "MDMDMDDD"]
[10, "MDMDMDD"]
"MDMDMDD"