Как стать автором
Обновить

Комментарии 7

получение трёх символов не решит проблему. <feline> echo ${foo##*.}
/дотошка моде: on

Строго говоря, это буллшыт. :)
Начнём с того, что расширения у файла может не быть вовсе. И такая конструкция вернёт всё имя. Продолжим тем, что файл может быть вместе с путём и точка может быть в названии одной из директорий и такой код порежет путь с именем файла на невообразимое нечто.
Ну и на сладкое, в unix, а данная команда из unix-shell, есть ещё скрытые файлы, которые начинаются с точки. Я не припомню каких-либо надёжных соображений насчёт того, стоит ли считать .htaccess скрытым файлом с именем htaccess или файлом без имени, но с расширением .htaccess. Т.е. этот вопрос может оказаться дискуссионным. Тут ведь даже не вопрос реализации функций в тех или иных библиотеках или языках, а в том, что нужно пользователю. Т.е. как раз суть X.

Таким образом, в примере «вместо X мы ищем неправильный Y» мы имеем в качестве правильного ответа на X — заведомо не правильный код, фактически тот же Y. Простите, но я тут поделил на ноль. :)
Ахиллес никогда не догонит черепаху
или файлом без имени, но с расширением
Так ведь из самого термина «расширение» очевидно, что оно расширяет имя. Соответственно, из этого можно сделать вывод, что файла без имени, но с расширением, существовать не может.
Так же, если обратиться к классической документации, то «These are files that have a name starting with a dot.» т.е. имя начинается с точки. Однако, скорее всего (но это не точно) библиотечные функции, разбирающие путь и имя файла на составляющие с такой трактовкой не согласятся.
Но это именно то, о чём я говорил: Пошла дискуссия. :)

Бывает и так: мы лучше знаем, что тебе нужно, и с удовольствием ответим на вопросы, которые ты не задавал.

На SO это явление давно уже превратилась в доминанту. Ты спрашиваешь про какой-то сложный и непонятный X, а я знаю только Y, поэтому давай-ка я накатаю ответ "почему тебе на самом деле нужен Y, когда ты спрашиваешь про X".

Очень важная и интересная тема. Был бы рад если автор раскрыл ее подробнее. Свои замечания по данной теме:
— У пользователе нет смысла спрашивать что ему нужно, получишь «вагон и маленькую тележку хотелок». Имеет смысл спрашивать какую проблему он решает таким способом (вопрос об опыте в открытой форме). С какими проблемами сталкивается в процессе, как их преодолевает.
— Как часто он сталкивается с этой проблемой (вопрос об актуальности проблемы и приоритетах решения). Если проблема регулярная, возможно имеет смысл автоматизировать ее решение, если раз в год возможно проблема частная и достаточно просто результата решения, а не автоматизации.
— Какой результат пользователь ожидает получить от решения проблемы (открытый вопрос о решении) и для чего он ему нужен (открытый вопрос о итоговом результате). Очень часто оказывается что и та версия XY проблемы лишь частный случай проблемы AB уровня выше и не одну из проблем XY решать не надо
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.