Снова линукс, или Как сломать рекурсию
Apr. 5th, 2012 02:37 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Дверь проломить - купил отбойный молоток
В. Высоцкий, "Песня автозавистника"
В. Высоцкий, "Песня автозавистника"
Написал (на Матлабе) простую функцию: начиная с данной папки, пройти по всем подлежащим папкам рекурсивно и обработать (некоторым способом) все найденные файлы с расширением DAT.
По ошибке запустил её не из своей директории, а из /root.
Молчала полминуты, потом заявила: "Слишком глубокая рекурсия (500 заходов), если хотите раздвинуть пределы ... " и т.д.
Поскольку такой глубины дерево не бывает, пришлоть копнуть. За две минуты докопался. В некоей директории ХХХ дорогой и любимый Линукс, умница и лапочка, держал линк на "../ХХХ". Естественно, прямой как палка Матлаб решил, что этот линк - директория и пошёл жрать свой собственный хвост.
По словам коллеги: отбойным молотком очень удобно раздвигать пределы рекурсии.
no subject
Date: 2012-04-05 01:18 pm (UTC)Но в некотором смысле и аффтара - что не подумал о такой дивной возможности.
Я всё-таки простой алгоритмист, извращениями не увлекаюсь, и что кто-то станет себя на себя замыкать мне в голову не пришло.
зачем онанизм, если можно дрова пилить?no subject
Date: 2012-04-05 01:30 pm (UTC)Матлаб вообще-то должен (по идее) содержать какой-то способ вызова библиотечных функций из glibc, но в этом я совсем не спец.