Forth http://fforum.winglion.ru/ |
|
*преобразование табуляций в тексте http://fforum.winglion.ru/viewtopic.php?f=19&t=739 |
Страница 2 из 3 |
Автор: | WingLion [ Пт май 18, 2007 21:43 ] |
Заголовок сообщения: | |
yz писал(а): Какое отношение эти хохмы имеют к рассматриваемому вопросу выбора языка для конкретной задачи? A какое отношение вообще имеет выбор какого-то языка к случаю, когда выбор сделан изначально, и этот выбор - Форт? yz писал(а): Это называется универсальным алгоритмом?
Это называется, "что попросил - то и получил!" (c)... Я не видел слова 'универсальный' в постановке вопроса. |
Автор: | mOleg [ Пт май 18, 2007 22:02 ] |
Заголовок сообщения: | |
мой вариант \ 18-05-2007 ~mOleg |
Автор: | Hishnik [ Пт май 18, 2007 22:14 ] |
Заголовок сообщения: | |
yz писал(а): Хищник писал(а):
Иначе получится сборная солянка из языков, каждый из которых умеет что-то делать очень хорошо. Что же в этом плохого? Для достаточно сложных задач реально так и выходит. А Форт обычно служит клеем, соединяющим все это вместе. Вот на это может претендовать далеко не любой язык. Ну, вот сейчас /me нечто подобное и делает Просто искать наиболее подходящий язык для каждой функции чисто из спортивно-религиозного интереса.... |
Автор: | mOleg [ Пт май 18, 2007 22:21 ] |
Заголовок сообщения: | |
yz писал(а): Задачи такого рода элементарно решаются на специальном языке, заточенном под обработку строк, например, на Перле, и крайне извращенно решаются на Форте.
Непонятно, почему бы не взять удобный инструмент? Я не понял, в чем проблема? Задачка реальная и достаточно простая - тут один товарищь говорил, что вообще не стоит столь простую задачу публиковать, так как ну уж слишком она простая Я лично решал в лоб, и не долго мучился. Мой код уже работает в другом месте, куда меня это дело уже давно просили вставить |
Автор: | profiT [ Пт май 18, 2007 22:32 ] |
Заголовок сообщения: | |
yz писал(а): а) механизм быстрого динамического распределения памяти
б) сборщик мусора в) (для регулярных выражений) механизм бэктрекинга г) конечный автомат регулярных выражений. a) б) Я конечно, немного извиняюсь. Но и в первом, и во втором примерах промежуточные строки в памяти создаются и снимаются "автоматом". А теперь найдите в обоих кодах хоть намёк на ALLOCATE или FREE, их нет, только в первом примере, и из-за постановки задачи пришлось HEAP-COPY применить. Управление памятью в обоих случаях там спрятано в "обёртках", которые собственно для того и писались (в том числе и мной). в) Первый пример немножко на бэкфорте написан. г) Второй пример немножко на конечных автоматах сделан. |
Автор: | yz [ Сб май 19, 2007 11:19 ] |
Заголовок сообщения: | |
Хищник писал(а): Просто искать наиболее подходящий язык для каждой функции чисто из спортивно-религиозного интереса....
Не из спортивного, а из педагогического. Я понимаю, что и постановка задачи, и ее решение должны быть образцовыми. |
Автор: | yz [ Сб май 19, 2007 11:25 ] |
Заголовок сообщения: | |
WingLion писал(а): Это называется, "что попросил - то и получил!" (c)...
Я не видел слова 'универсальный' в постановке вопроса. Не надо снова съезжать с темы в дешевые хохмы. Если, по-вашему, все задачи имеют решение, прошу предоставить решение и той, что написал я. Или признайте, что ваше утверждение ложно. |
Автор: | yz [ Сб май 19, 2007 11:28 ] |
Заголовок сообщения: | |
mOleg писал(а): Я лично решал в лоб, и не долго мучился.
Что меня немного удивляет в вашем решении, так это необходимость работы со всем файлом сразу. Обычно такие вещи делаются построчно, чтобы не было проблем с очень большими файлами. |
Автор: | WingLion [ Сб май 19, 2007 12:28 ] |
Заголовок сообщения: | |
yz писал(а): Не надо снова съезжать с темы в дешевые хохмы.
Если, по-вашему, все задачи имеют решение, прошу предоставить решение и той, что написал я. Или признайте, что ваше утверждение ложно. A смысл этого признания есть, если вы юмора не понимать? Да, я прекрасно осознавал, когда писал, что моя фраза про "все задачи имеют решение" - неверна. хотя, подразумевалось "все задачи предложенные на данном конкурсе". |
Автор: | mOleg [ Сб май 19, 2007 22:44 ] |
Заголовок сообщения: | |
yz писал(а): Я лично решал в лоб, и не долго мучился.
Что меня немного удивляет в вашем решении, так это необходимость работы со всем файлом сразу. Обычно такие вещи делаются построчно, чтобы не было проблем с очень большими файлами. а откуда взялось такое впечатление? На самом деле там как раз построчно. Просто файл может состоять из одной строки |
Автор: | Hishnik [ Сб май 19, 2007 22:55 ] |
Заголовок сообщения: | |
yz писал(а): Не из спортивного, а из педагогического. Я понимаю, что и постановка задачи, и ее решение должны быть образцовыми.
Для тренировки навыков это подойдет. Но для целостного понимания проблем разработки - не очень. Новый язык - это совершенно объективное время на его освоение, затраты на приобретение, косвенные затраты на интеграцию. Почему-то слова "я не знаю языка XXX" вызывают реакцию "так иди и изучи!", а не "хм, да, извините, что предложили вариант, который потребует дополнительного повышения квалификации". |
Автор: | SteelFactor [ Ср июн 03, 2009 18:51 ] |
Заголовок сообщения: | преобразование табуляций в тексте |
Если я правильно понял, речь идет о преобразовании одного объекта - точки Line в другой - фрагмент Cell. Может я ошибаюсь, но стандартными средствами этого сделать нельзя. Какой в этом смысл? Не проще просто поставить новый фрагмент на эту точку? |
Автор: | Ethereal [ Вт мар 15, 2011 03:52 ] |
Заголовок сообщения: | Re: |
yz писал(а): WingLion писал(а): Все задачи имеют решение. Ну вот вам задача: составить алгоритм, определяющий, останавливается ли данный конкретный алгоритм. Универсальное решение : Код: : ?ALGO_STOP ( addr len -- ) \ addr - адрес текста алгоритма, len - его длина
." Останавливается. " EVALUATE ." Нет, ошибся ! Ни хрена не останавливается !" ; |
Автор: | dynamic-wind [ Вт мар 15, 2011 11:42 ] |
Заголовок сообщения: | Re: Re: |
А вот так правильно Код: : ?ALGO_STOP ( addr len -- ) \ addr - адрес текста алгоритма, len - его длина
." Не знаю, ждите... " EVALUATE ." Останавливается !" ; |
Автор: | Гость [ Пн июл 25, 2011 02:56 ] |
Заголовок сообщения: | Re: *преобразование табуляций в тексте |
Тогда не ответил, сейчас отвечу. Вот пример того, как можно сформулировать условие задачи так, что его можно понять с точностью наоборот. Предположим вы вызвали текст алгоритма по EVALUATE. Тогда в моем понимании : Если возврата из EVALUATE нет, то алгоритм остановился, ибо завис (например, впав в бесконечный цикл). Если возврат есть, то алгоритм не остановился, ибо не завис и успешно завершился. В понимании dynamic-wind : Если возврата из EVALUATE нет, то алгоритм не остановился ибо ещё продолжает что-то считать. Если возврат есть, то алгоритм остановился ибо завершил свою работу. Мораль : А формулируйте-ка условия задач так, чтобы их нельзя было понять ИНАЧЕ. |
Страница 2 из 3 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |