- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
using namespace boost;
typedef filesystem::recursive_directory_iterator dir_iter_t;
dir_iter_t itt(filesystem::current_path());
while ([&](dir_iter_t &itter) -> decltype(itter)
{
std::cout << boost::filesystem::path((*itter++).path()).make_preferred().string() << std::endl;
return itter;
}(itt) != dir_iter_t());
Так там же скобки не хва... OH SHI-
в этом и плох новый стандарт
Сейчас то я прекрасно осознаю, что помещать в условие while что-то более-менее сложное - говно.
А, нет, стойте! А самое первое значение чего? Интересно, за такое уже повергнут остракизму?
С++ с каждым новым стандартом расширяет список возможных диагнозов.
^^
C++ всегда читался хуже хаскелла.
Очевиднофикс
Так, а теперь по делу. Походу автор выводил названия просто для отладки, а потом эта программа будет делать что-то умное типа отправки файлов по сети, подсчета CRC и т.п.
P.S. Повершелл такое же говно. Из вменяемых языков под виндой из коробки только JScript через WSH.
Ну собственно лишнее доказательство того, что батники говно. Вот всяко минут 35 из них ушло на ёблю с синтаксисом for'а и 5 на полезную работу.
Тот же баш хоть и тоже довольно укурен, но на нем такое пишется в районе 5-10 минут, а может и быстрее.
Тут ты прав. Пока не узнал про setlocal enabledelayedexpansion никак не мог понять, почему переменные в цикле работают неправильно.
Следует юзать не структурированные if и for, а подпрограммы
call :же!
Костыль на костыле и костылем погоняет. Впизду такие удобства.
P.S. Да и как бы дома линукс, на работе, в основном, линукс... уже как-то привык к башу, пёрлу и питону. А после них батники, сам понимаешь, неюзабельны.
P.P.S. А под виндой посмотри все-таки в сторону JScript. Язык вменяемый, если на JavaScript кодил - то вообще учить ничего не придется, только гуглить нужные для задачи объекты и методы. Управление планировщиком задач, чтение\запись текстовых файлов, запуск внешних команд, отправка емейлов там элементарно делаются...
Древние бейсики мне нравились. А с vbs у меня плохие отношения, ну не люблю я не нам писать, на js как-то приятней.
Ну а так да. Любой язык, поддерживаемый WSH имеет одинаковые возможности.
Та же хрень. Он выглядит более вымученным. Но для школьников - самое то.
> имеет одинаковые возможности
Не совсем. Сейчас я точно врать не буду, но в JScript какой-то фичи не было. Озабоченные быдлокодеры делали связку с бейсиком.
Правда, это была фича толи языка, толи библиотеки.
Поэтому упоротые делают так:
stdin и аргументы командной строки вполне читаются ;)
WUT scripts
В смысле, не поюзать даже для чтения?
Если второе, то правильно.
И в Дельфи и Аде они внутри иммутабельны тоже.
А потому, что нехуй.
Когда я вижу заголовок цикла "для и от а до бэ", то я сразу понимаю, что цикл выполнится для и от а до бэ (ну возможно, вылетит раньше) и я не предполагаю, что внутрь воткнут "и присвоить а", что сделает цикл хитрожопой хренью с возвратами. И если я вижу в коде внутри вот это вот "и присвоить а", которые пропускают только древнющие как говно мамонта компиляторы, ну и совместимые с ними, то я испытываю БОРЛАНД
> не могу понять технических причин так делать
Там выше зеленым они описаны.