Мне было интересно, есть ли хороший шаблон или, что еще лучше, особая функция, которая применяет функцию до тех пор, пока ее результат не перестанет изменяться.
url = "http://www.zzz.com/yyy/lt%255B1%255D.jpg"
unescaped = unescape(url)
while unescaped != url do
url = unescaped
unescaped = unescape(unescaped)
end
Хотя приведенный выше код в основном ruby, я думаю, что он достаточно читабелен как псевдокод. Первая настройка unescaped - это http://www.zzz.com/yyy/lt%5B1%5D.jpg,, затем цикл вызывается, поскольку произошли изменения, и поэтому unescaped становится http://www.zzz.com/yyy/lt[1].jpg, цикл Вызван снова, так как снова произошли изменения, но на этот раз нам нечего скрывать, и поэтому url и unescaped становятся такими же, прерывая цикл while.
В этом коде нет ничего плохого, мне кажется, мне интересно, есть ли более простой способ его представления, либо в форме псевдокода, либо, в моем конкретном случае, в ruby.
Очень ценю помощь, как всегда!