|
Заблокирован
|
|
Число "файлов-hs" в программе HaskellPlatform-8.0.105.09.2016, 14:14. Показов 2448. Ответов 31
Привет всем программистам Haskell!
Помогите, пожалуйста, с анализом программ. Не могу удержаться как Буратино, всюду сую свой длинный нос. Как подсчитать число файлов-hs на HaskellPlatform-8.0.1? Неужели надо открывать Проводник, считая визуально вручную число элементов по каждой папке? Пожалуй, устанешь пыль глотать! Как написать код на Haskell, способный выдать точное число файлов с расширениями: *.hs, *.ехе, *.docs, *.html? Хочется узнавать сразу как по программе (платформе) в целом, так и по каждому каталогу (папке).
0
|
|
| 05.09.2016, 14:14 | |
|
Ответы с готовыми решениями:
31
История открытых/созданных файлов в программе файлов (история), записывать в файл либо бд, или ещё как-то
На вход программе подается беззнаковое 32-битное целое число N и натуральное число K (1 ≤ K ≤ 31). Требуется взять K под |
|
Супер-модератор
|
||||||
| 05.09.2016, 15:04 | ||||||
Сообщение было отмечено balky02 как решение
Решение
Вот набросок кода, который распечатывает на консоли файлы из текущей директории с заданным расширением:
0
|
||||||
| 05.09.2016, 16:16 | ||||||
|
Catstail, готовые комбинаторы - удобная вещь. Хотя я сам любитель писать свои велосипеды, но писать их используя готовые абстракции еще приятнее
![]()
3
|
||||||
|
Заблокирован
|
|||||||
| 05.09.2016, 16:23 [ТС] | |||||||
|
Спасибо! Что-то не то... Лёгкое он подсчитал. (C:\Users\admin\Documents\MyHaskell)
0
|
|||||||
|
Заблокирован
|
||
| 05.09.2016, 16:39 [ТС] | ||
|
Код короче. Выполняет то же, что и выше у Catstail. Спасибо. Опять не то... Мне надо не список, а только общее число. Хочу узнать: сколько всего файлов-hs в программе HaskellPlatform-8.0.1?
0
|
||
|
Супер-модератор
|
|||||||
| 05.09.2016, 17:40 | |||||||
|
Добавлено через 21 минуту Вот следующий шаг (программа берет из командной строки имя директории и расширение файлов с точкой, а возвращает количество найденных файлов в директории):
_Ivana, а я все пытался вспомнить, как же он (isSuffixOf) называется...
0
|
|||||||
| 05.09.2016, 17:49 | ||||||
Сообщение было отмечено Catstail как решение
Решение
Catstail, я в хугле в таких случаях за подсказкой лезу
![]() Вот кривоватый кот, навскидку, без волшебных абстракций и комбинаторов
1
|
||||||
|
Заблокирован
|
||
| 05.09.2016, 20:11 [ТС] | ||
|
Не получается у меня ничего по предложенным кодам. Хотел узнать сколько файлов-hs живёт у меня в Компьютере. Ерунда, всего 16! Значит, практического применения пока совсем не имеют. Только для баловства. Самый первый поселился 01.06.16, именуется как "Master.hs". Остальные 15 создал за последнюю неделю. Сходил к нему в гости, живёт здесь: C:\Users\admin\GlassFish_Server\mq\lib\h elp Воспользовался "дедовским способом", ничего лучшего пока не увидел. Картинка ниже. Жалко прогнал с ПК "Анаконду", та бы справилась. Очень пронырливая.
0
|
||
|
Заблокирован
|
||
| 05.09.2016, 20:57 [ТС] | ||
|
А чего удивительного? У меня встречная мысль: где можно скачать такую программу? Это какие-нибудь научные разработки ведущих фирм. Кустарю не под силу. Студенты! Поясняю объем работы. Отдельные папки могут до 10 уровней. Значит, надо положить рядом тетрадь и карандаш для фиксации каждой ветки дерева. Могут быть ошибки из-за ветвления и человеческого фактора. Когда всё это обойду, если никому заранее не известно конечное число искомых файлов? По сути: лабиринт.
0
|
||
|
Супер-модератор
|
|||||||||||
| 05.09.2016, 22:26 | |||||||||||
|
Вот нашел решение в Сети и чуть его подрихтовал - рекурсивная печать всего дерева директорий:
1
|
|||||||||||
|
Заблокирован
|
||
| 05.09.2016, 22:41 [ТС] | ||
|
Развлекаюсь, играю в прятки с Windows 7! Пусть будет вложенных 9 папок, наименование по номерам: 1; 2; … 9. Файл "Matryoshka.hs" спрячем в папке 9 (последняя), а папку 1 — аж в дистрибутив Java. C:\Program Files\Java\jdk1.8.0_102\bin\CoreJavaBook \1\2\3\4\5\6\7\8\9\Matryoshka.hs Теперь просим Windows найти все файлы с расширением: *.hs Windows проиграл! Никак не может найти Matryoshka.hs Понимаю надо сделать "Перезагрузку", тогда будет по-честному (он запишет в реестр). Сделал "Перезагрузку", не помогло! Windows бессилен!
0
|
||
| 05.09.2016, 22:48 | |
|
Не по теме: balky02, Купили нашим лесорубам японскую пилораму. Пилит любые бревна. Наши думают: а что, если проволоку стальную подсунуть? Подсунули. Пила - ззззз - перепилила. А трубу если? Подсунули трубу. Пила - зззззззззз - перепилила. Ах, ты! А если рельс? Подсунули рельс. Пила - зззззззззззззз - и сгорела... А, мля! - сказали довольные лесорубы...
0
|
|
|
Заблокирован
|
||||||||||||
| 05.09.2016, 23:49 [ТС] | ||||||||||||
|
Помогите, пожалуйста, перевести код с Python на Haskell. Правильный код:
0
|
||||||||||||
|
Супер-модератор
|
||||||
| 06.09.2016, 06:56 | ||||||
|
Этот код в чистом виде на Haskell не переводится, в силу ряда причин:
1) чистота Haskell требует использования монад. 2) Питон - язык сверхвысокого уровня. В частности, это означает, что можно записать
В коде, который привел _Ivana или в моем это реализовано. Я даже примеры запуска привел. Чего не хватает? Вообще хочу дать добрый совет: изучать новый язык нужно неторопливо и систематично. Если ты знаком с C#, то Питон можно пробежать быстро (языки близки идеологически). Haskell с C# не близок никоим образом.
0
|
||||||
|
Заблокирован
|
||||||||||||||||||||||
| 06.09.2016, 10:13 [ТС] | ||||||||||||||||||||||
|
Напишу прямо: не хватает ясности и однозначности, всё как-то расплывчато. Мне надо найти на своём ПК: Число "файлов-hs" в программе HaskellPlatform-8.0.1 Ввожу Ваш "отрихтованный код" — MyFilesHs5.hs:
Например, для пробы вводим:
Пробуем фактическую директорию: C:\Program Files\Haskell Platfopm (картинка ниже). После ввода строки нажимаем Enter. Опять получаем по зубам, ниже.
Вроде как тянем кота за хвост. Поэтому появляется моё молчание. Сами Вы догадаться не сможете, что объясняете новичку, а не _Ivana? Вместо банальщины: надо прилежно учиться... Можете упрекать меня в ограниченности... Ниже на картинке — искомый каталог (директория).
0
|
||||||||||||||||||||||
|
Супер-модератор
|
|
| 06.09.2016, 10:44 | |
|
balky02, да, я пишу для обычных людей. Но для тех, кто понимает, что запускать нужно исполняемый модуль, у которого имя будет MyFilesHs5, а не cf-ij (как у меня). У человека, который изучает программирование, я могу предположить понимание этого простого факта? Да и директорию нужно задавать не мою (c:\!send), а свою... Ну, ты даешь!
0
|
|
|
Заблокирован
|
|||||||
| 06.09.2016, 11:30 [ТС] | |||||||
|
Какую информацию Вам ещё надо предоствить? Напишите. У меня три диска, картинка ниже: С — основного назначения. D — всегда пустой, как резервный. E — только для архивации. Искомая директория: C:\Program Files\Haskell Platfopm — здесь ведём подсчёт файлов-hs Запускаемый файл: MyFilesHs5.hs (отрихтованный код) Требуется написать только одну строку! Не знаю, что означает у Вас: D:\OldPC\!Funct_Prog\!Haskell\MySrc\lab-7>cf-ji c:\!send .zip Объяснять не надо, только внесите исправления в мою запись, ниже. Например, пишем после *Main> — так правильно:
0
|
|||||||
|
Супер-модератор
|
|||
| 06.09.2016, 11:46 | |||
|
2) cf-ji - имя МОЕГО исполняемого файла 3) c:\!send - имя МОЕЙ директории 4) .hs - расширение файлов, которые ищутся Я предполагал, что взяв мой (или Ivann-ин) исходник, Ты его превратишь в exe-файл. Сделать это можно так: 1) сохранить мой исходник под любым именем в любой директории (напр. в директории c:\!Send под именем fcount.hs) 2) Запустить cmd.exe и перейти в c:\!send (у тебя будет твоя директория, где ты сохранил fcount.hs) 3) В командной строке ввести команду: ghc -prof -fprof-auto -rtsopts fcount.hs и дождаться успешного завершения 4) в командной строке ввести fcount ИМЯ_ДИРЕКТОРИИ_В_КОТОРОЙ_ЛЕЖАТ_ФАЙЛЫ .hs
0
|
|||
| 06.09.2016, 11:46 | |
|
Помогаю со студенческими работами здесь
20
Задача python / pascal: В первой строке программе подается на вход число натуральное число n, не превышающее 1000 Открытие файлов в программе Обновление файлов в программе Записать в выходной файл умноженное каждое чётное число на первое отрицательное число файлов. Написать программу "Угадай число". В программе задается число. С ним она сравнивает числа, вводимые с клавиату Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|