Здравствуйте, PhantomIvan, Вы писали:
PI>>>в консоли как будто не надо набирать G>>Размер сравни PI>чуть больше, ну и что? PI>в правильного программиста всегда таких сниппетов — склад, и ещё маленькая тележка впридачу
Понял, где в неправильные записывают?
G>> но все же мне очевидно, что набрать с второй-третей попытки в консоли надлежащий конвеер, чтобы получить результат, попроще чем с той же второй-третьей попытки написать программу из минимум нескольких строчек.. PI>сниппеты переиспользуются PI>где и как ты сохраняешь свои консольные команды?
В голове.. И маны есть.
G>>Если уж на то пошло — консоль как раз для таких задач и предназначена и в этих задачах покруче будет, чем серебряная пуля.. Давайте еще вместо Сиквела немерловый код писать... Нет, я понимаю, что никто не вставляет SQL-запросы прямо в код.. Но все-же хоть иногда скармливаете базе SQL? А теперь представьте себе вместо него Немерле... PI>бугага
Не то.. Это работа с SQL через макросы.. Я имел в виду "вместо синтаксиса SQL использовать Nemerle". Хотя согласен, пример дурацкий
Здравствуйте, Gajdalager, Вы писали:
G>Не то немного.. Нужно не количество всех строк, а только тех, которые совпадают с образцом...
Я думаю, что это без разницы. Всё равно этот трёп не имеет смысла. На шеле может конечно и удобно строчки считать, зато софт для атомных станций писать не удобно.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, IT, Вы писали:
IT>Здравствуйте, Gajdalager, Вы писали:
G>>Не то немного.. Нужно не количество всех строк, а только тех, которые совпадают с образцом...
IT>Я думаю, что это без разницы. Всё равно этот трёп не имеет смысла. На шеле может конечно и удобно строчки считать,
Ну ведь есть товарищи, которые утверждают что не так удобно как на немерле IT>зато софт для атомных станций писать не удобно.
+1 никто и не спорит
Здравствуйте, IT, Вы писали:
IT>Здравствуйте, Gajdalager, Вы писали:
G>>Не то немного.. Нужно не количество всех строк, а только тех, которые совпадают с образцом...
IT>Я думаю, что это без разницы. Всё равно этот трёп не имеет смысла. На шеле может конечно и удобно строчки считать, зато софт для атомных станций писать не удобно.
А кто-то говорил иначе?
У каждой задачи есть свои, более подходящие инструменты.
Просто некоторые говорят, что на всё есть один язык (максимум 2-3, один, допустим SQL, интересно, что третье?)
PI>>>>в консоли как будто не надо набирать G>>>Размер сравни PI>>чуть больше, ну и что? PI>>в правильного программиста всегда таких сниппетов — склад, и ещё маленькая тележка впридачу G>Понял, где в неправильные записывают?
ну, я вот немного ленивый чтоб упорядочивать сниппеты
программлю программлю, вдруг вспоминаю, что это уже делал — быренько проект открываю из своего репозиотрия, нахожу, копипаст, рефактор
G>>> но все же мне очевидно, что набрать с второй-третей попытки в консоли надлежащий конвеер, чтобы получить результат, попроще чем с той же второй-третьей попытки написать программу из минимум нескольких строчек.. PI>>сниппеты переиспользуются PI>>где и как ты сохраняешь свои консольные команды? G>В голове.. И маны есть.
во-во, у меня голова и так уже квадратная
G>>>Если уж на то пошло — консоль как раз для таких задач и предназначена и в этих задачах покруче будет, чем серебряная пуля.. Давайте еще вместо Сиквела немерловый код писать... Нет, я понимаю, что никто не вставляет SQL-запросы прямо в код.. Но все-же хоть иногда скармливаете базе SQL? А теперь представьте себе вместо него Немерле... PI>>бугага G>Не то.. Это работа с SQL через макросы.. Я имел в виду "вместо синтаксиса SQL использовать Nemerle". Хотя согласен, пример дурацкий
че-то вижу на шаг вперёд, что ты говорить будешь
"вместо синтаксиса SQL использовать Nemerle" — это нужно смотреть в сторону object relationship mapping -инструментов (hibernate для дотнета), там как раз "датабазная" логика переводится на код "объектной базы данных" (которая живёт скорее в программе, чем в базе данных)
Здравствуйте, Andrei N.Sobchuck, Вы писали:
ANS>Хе-хе. Посмотрел на твой код ниже. И таки не всё в порядке. Считать нужно не кол-во совпадений, а кол-во строк. Мой вывод: нормальный программист должен взять готовый инструмент, а не день отлаживать свой велосипед
А grep выводит ровно одну строку независимо от количества вхождений в нее паттерна? Если это так, то код еще упрощается — я намеренно считал количество совпадений, а не строк.
1.2.0 alpha rev. 655
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Gajdalager, Вы писали: S>>Реализовать полностью корректный код можно только изменив RegEx: сейчас он умеет принимать только строку, а не IEnumerable<char>. S>>Поэтому предложенная реализация благополучно сдохнет на 10 гигах без переносов. В отличие, смею полагать, от grep. G>А давайте-ка посчитаем теперь количество слов. Да еще и не в одном файле, а в нескольких. G>
G>[** vvv]$ grep "NetVa" * -h
G>// Это вивод всех строк в файлах *, которые совпадают с паттерном NetVa. -h отключает вывод имени файла перед строкой совпадения.
G>NetVampire Job: "05. chiasm - isolated.mp3"
G>NetVampire Job: "aerial - pound.mp3"
G>NetVampire Job: "asp hole.mp3"
G>NetVampire Job: "asp_hole.mp3"
G>NetVampire Job: "automobile.mp3"
G>NetVampire Job: "chinatown_theme.mp3"
G>NetVampire Job: "creepy_ambience_combat.mp3"
G>NetVampire Job: "crypts.mp3"
G>NetVampire Job: "crypts_combat.mp3"
G>NetVampire Job: "dangerous_places_combat.mp3"
G>NetVampire Job: "daniel ash - come alive.mp3"
G>NetVampire Job: "dark_asia_combat.mp3"
G>NetVampire Job: "darling violetta - a smaller god.mp3"
G>NetVampire Job: "default_combat.mp3"
G>NetVampire Job: "disturbed_and_twisted.mp3"
G>NetVampire Job: "disturbed_twisted_combat.mp3"
G>NetVampire Job: "downtown_theme.mp3"
G>NetVampire Job: "gargoylemusic.mp3"
G>NetVampire Job: "genitorturers - lecher bitch.mp3"
G>NetVampire Job: "glaze.mp3"
G>NetVampire Job: "hollywood_theme.mp3"
G>NetVampire Job: "lacuna coil - swamped.mp3"
G>NetVampire Job: "mid_short cutscene stem10.mp3"
G>NetVampire Job: "ministry - bloodlines.mp3"
G>NetVampire Job: "mission_impossible.mp3"
G>NetVampire Job: "mission_impossible_combat.mp3"
G>NetVampire Job: "moldy_old_world.mp3"
G>NetVampire Job: "police_alert.mp3"
G>NetVampire Job: "radio_loop_5.mp3"
G>NetVampire Job: "santa monica main bg.mp3"
G>NetVampire Job: "santa_monica_theme2.mp3"
G>NetVampire Job: "vampire extra music stem5.mp3"
G>NetVampire Job: "vampire_theme.mp3"
G>[** vvv]$ grep "NetVa" * -h | wc -w
G>// флаг -w говорит, что нужно считать количество слов
G>130
G>
Это что, проверка IQ?
...
int matches=0;
Regex main = new Regex(pattern, RegexOptions.Compiled);
Regex word = new Regex("\w*", RegexOptions.Compiled);
foreach(string fileName in Directory.GetFiles(".", filePattern))
foreach(string line in GetLines(fileName))
if (main.IsMatch(line))
matches += word.Matches(line).Count;
Здравствуйте, Андрей Хропов, Вы писали:
АХ>Я считаю что вообще все надо читать на компьютере (не обязательно ПК конечно). АХ>А уж смысла читать программы без компьютера вообще ну ни вижу никакого. АХ>Только если из интереса окунуться в атмосферу 50-х — 60-х годов XX века.
Ну, это явный перегиб. Лично мне читать статьи и книги проще с бумаги.
Даже не смотря на то, что ссылки на ней не работают.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, eao197, Вы писали:
E>И по поводу читать вообще на компьютере. Будучи пальмоводом с четырехлетним стажем могу сказать, что удобства чтения книг электронные девайсы пока не достигли. Искать что-нибудь удобно на компьютере, но вот читать -- бумажную книгу.
Согласен. И именно по этому читать программы удобнее на компьютере. Ведь более менее серьезная программа не может быть прочитана в режиме книги (от начала программы до ее конца). Чтение кода превращается в постоянный поиск. Например, мы читаем код некоего метода и встречаем обращение к другому методу некоего класса... если мы читаем бумагу, то мы обречены на долгий просмотр кода пока не найдем нужный фрагмент. Причем мы даже не всегда будем уверены, что нашили именно то что нужно. Если же есть поддержка ИДЕ, то мы просто нажмем нужную кнопку и окажемся у определения нужного метода.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, eao197, Вы писали:
E>Все, дальше тебе можно ничего не объяснять. Будучи профессиональным продавцов IT-пиара ты не можешь просто понять, что я не пиарю Ruby.
Слив засчитан.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, EvilChild, Вы писали:
EC>Ага писать замену конструкции grep pattern file | wc -l на C# это надо иметь недюжинное воображение и кучу времени. И это ещё тривиальный пример.
Если ты не знаком с таким понятием как библиотека, то конечно сложно. Иначе это превращается в пару строк кода. Причем гибкость значительно выше.
Кстати, grep под Виндовс нет. Так что или ставить Цигвин, или возиться с разными наборами утилит для виндовс и еще чего-то там.
Лично я под Виндовс для простеньких задач не требующих особого программирования использую VS2005. В ней есть поиск и замена с регекспами. Очень удобно.
Для сложных же ты натрахаешся с утилитами намного больше.
EC>То, что я и ты этими задачами не занимаемся не делает их ненужными.
Я и ты тут не причем. Даже если бы один из нас занимался дровами, то ничего бы не изменилось. Задача которой занимаются 0.0001% программистов просто не стоит осбуждения. Ведь даже без нее у языка остается огромное поле применения. В общем, это притягивание за уши.
VD>>Этим замечанием ты уже это сделал. Да и твои улыбочки и плюсики на всех проявлениях хамства и быдлятся тоже являются переходом на личности. Так что не стесняйся.
EC>Чья бы уж корова мычала, то же мне, мастер изящной словесности.
Чья бы не мычала, да не твоя.
EC>Уже к оценкам претензии пошли — больше сказать нечего?
Никаких претензий. По твоим оценкам можно сделать отличную коллекцию хамства и демогогии на РСДН. Думаю, те кто читают форумы внимательно довно это подметили.
EC>К каким конкретно сообщениям у тебя претензии?
А ты погляди свой список смайликов, например. Хотя что тебе то глядеть? Если ты считашь нормальным поддрживать откровенное хамство и быдлятство, то для тебя все это в норме вещей.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, PhantomIvan, Вы писали:
PI>насчет времени ты точно не прав, т.к. мне сначала хелп по этим командам посмотреть, и нужные модификаторы найти
Для начала тебе прийдется поставить Цигвин (что сомо по себе не просто). Потом разобраться в нем (тоже не просто). А потом ты с удивлением обнаружишь, что линуксовые утилиты, к примеру, не понимают виндовые концы строк.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Gajdalager, Вы писали:
G>Валяюсь При всем уважении к Немерлу, удивляюсь, как может человеку больше нравиться запустить Студию, набрать и отдебажить код, скомпилить, запустить, найти ошибку, опять скомпилить, опять запустить и радоваться жизни вместо того, чтобы в консоли набрать "grep pattern file | wc -l" и тоже радоваться жизни.. Хотя оно то да, в винде консоль послабже буит..
На самом деле для столь тупых действий конечно разумный человек программ писать не будет ибо они уже есть. Греп — это одна из них. А VS2005 вторая. В ней найти список строк удовлетворяющий регексу ничего не стоит.
Если же в моих скриптах появляется необходимость в неких стандартных действиях, то я тупо напишу библиотеку. А вот в шеле это сделать тяжелее.
Что до отладки, то тут вообще не вижу предмета для разговора. В полноыенных ЯП она полноценная. В шеле она убогая. Не видел ни одного шела чтобы он поддерживал хорошую отладку.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Mirrorer, Вы писали:
M>Мммм. Возможно я неправильно понимаю, но не связность ли пытаются уменьшить различные паттерны ?
По разному бывает. Бывает и так.
M>Я к тому что если большой проект, да еще и сильносвязанный получается может в архитектуре чего-то не того ?
Может. А может задача сложная и связанная. И тут скрипты становятся очень плохим выбором. Задача или вязнет, или ее решение упрощается в угоду инструменту.
M>Хотелось бы или пример такого проекта или разъяснение, вполне может быть что я не совсем уловил мысль.
Самое смешное, что примером как слабо связанного проекта, так и сильно связанного может быть один и тот же класс продуктов. Связанность может получаться в следсвтии поптыки создать более функциональное решение. Например, тот же сайт можно создавать как набор не связанных стрничек, а можно как некий движок с поддержкой версионности во всех элементах, и позволяющий интегрировать все подсистемы сайта (плюс, там разные скины, лайуты...). Понятно, что надо стараться делать так, чтобы проект был наименее связанным. Но делать это не в угоду мощьности получаемого продукта. И тут короший компилятор может сослужить добрую службу. Он будет еще полезнее если большая генерируется.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Mirrorer, Вы писали:
M>Здравствуйте, VladD2, Вы писали:
VD>>Наберусь наглости утверждать, что наша статья на русском может служить неплохим справочником по языку. M>Не посчитай наездом, но я предпочитаю по возможности читать в оригинале.
Не посчитаю, но ты в данном случае сильно ошибашся. На сатйте немерла просто нет подобного материала в одном месте собирающим все описание языка. Работая над статьей мы собрали информацию из разных закаулков сайта и конференций, а так же не мало анализировали код компилятора. Так что это на сегодня лучшее введение. Единственное что в нем нет — это описания макросов.
M>После ссылки на Quick_Guide я то нашел. Просто я искал по interface, а не по where, потому что мало ли как они могли его обозвать.
Там есть стараничка со сравнением. Ну, а в нашей статье описаны различия. Все что не описно совпадает.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.