LINUX.ORG.RU

Удалить символ конца строки в CL


0

4

Здравствуйте, всё никак не могу при считывании CSV файла в Хэш-таблицу, символ перевода строки.

вот код:

(defun парсер-CSV (file Хэш-таблица)
;Обнуление строк и столбцов
  (setf Строка 0
		Столбец 0)
;Открытие файла
  (with-open-file (Поток file :direction :input)
;итерирование по потоку из файла
    (loop
       for Строка-потока = (read-line Поток nil)
	   ;если строка не равна nil
       while Строка-потока
	   do(progn(incf Строка);увеличение строки на одну еденицу
	   (setf Столбец 0);Сброс значения столбца до нуля
	   (loop for var in (cl-ppcre:split ";" Строка-потока);итерирование строки по столбцам
	   do(progn (incf Столбец);увеличение строки на еденицу
	   (setf(gethash (Format nil "~a,~a" Строка Столбец) Хэш-таблица)var)))))))

Просто записывается в хэш вместе с символом и потом если эта ячейка вставляется в середину строки то каретка переводится на следующую строку. Как я пробовал решить проблему могу написать если нужно. В емаксе этот символ непечатаемый отображается как «^M» но в инспекторе «Return». Простое сравнение на eql не работает....

Ответ на: комментарий от anonymous

> что за последние несколько лет появилось в CL такого,

что он _стал_ чотким и классным?


Не знаю, что в вашем понимании «чоткий и классый», но по уровню развития платформы он безусловно уступает той же Java.

проблема, как я и сказал, была все же в CL, а не в продолжениях.


Проблема Viaweb была в комплексе причин, с чего и начался разговор. Вы же по своему обыкновению ничего не читаете и не помните контекста обсуждения. Ну и до сих пор так и не привели примера высоконагруженного приложения, для которого имело бы смысл говорить о масштабируемости, которое бы работало на базе продолжений. Виртуальная масштабируемость это круто, да.

archimag ★★★
()
Ответ на: комментарий от archimag

> Вы же по своему обыкновению ничего не читаете и не помните контекста обсуждения.

Откройте секрет, как вы столь уверенно различаете анонимусов? :)

psv1967 ★★★★★
()
Ответ на: комментарий от archimag

> Не знаю, что в вашем понимании «чоткий и классый», но по уровню развития платформы он безусловно уступает той же Java.

Вопрос был не про джаву, вопрос был «что появилось в CL за последние годы, что тогда он был плохим решением, а теперь стал хорошим».

Проблема Viaweb была в комплексе причин, с чего и начался разговор.

Ты только одну причину назвал - плохая масштабируемость. Причем никаких пруфов этой «немасштабируемости» не привел, во-первых. Во-вторых, в поддержку этой гипотезы у тебя только один аргумент - «продолжения масштабируемыми быть не могут», причем аргумент этот идет только от твоей безграмотности и непонимая того, как работают и реализуются продолжения. В-третьих, ты даже не обратил внимания, что на продолжениях в виавеб был реализован _только редактор_. То есть в самих магазинах никаких продолжений не было и близко, а любому понятно, что нагрузка от использования редактора - это крохи. Сколько пользователей там было и какая часть реально пользовалась редактор в конкретный момент? Но ты просто услышал знакомый баззворд «продолжения» и кинулся открывать истину, не удосужившись предварительно разобраться в вопросе.

anonymous
()
Ответ на: комментарий от archimag

> Ну и до сих пор так и не привели примера высоконагруженного приложения, для которого имело бы смысл говорить о масштабируемости

Ну так это ведь ты начал первым говорить о масштабируемости. Поскольку примеров высоконагруженных приложений мы не имеем - приходится обсуждать особенности технологии. Позволяют ли эти особенности масштабируемую реализацию? Позволяют (хотя ты по каким-то, мне непонятным, причинам решил, что нет). Какие проблемы?

anonymous
()
Ответ на: комментарий от anonymous

> Во-вторых, в поддержку этой гипотезы у тебя только один аргумент

- «продолжения масштабируемыми быть не могут»


Вы вообще о чём в конце то концов?

Мы эту тему уже обсуждали и тогда остановились на том, что серилизация продолжений и передача их через куки имеют ограниченную область применения, а другие варианты ещё хуже. Если у вас было что сказать на эту тему, то надо было говорить там. Повторять то обсуждения у меня желания нет.

Но вы опять выпали из контекста обсуждения и при этом ещё и мои фразы стараетесь вырвать из контекста.

archimag ★★★
()
Ответ на: комментарий от archimag

> Вы вообще о чём в конце то концов?

Я о причине переписывания виавеба. А ты о чем?

Мы эту тему уже обсуждали и тогда остановились на том, что серилизация продолжений и передача их через куки имеют ограниченную область применения

1. в общем удобнее через строку запроса чем через куки 2. чем она ограничена?

Ты опять фантазируешь, меня это начинает утомлять.

Если у вас было что сказать на эту тему, то надо было говорить там.

Тему зачем-то перенесли в talks. Я даже зарегался, но там стоит ограничение на минимальное количество постов.

anonymous
()
Ответ на: комментарий от anonymous

> 1. в общем удобнее через строку запроса чем через куки

2. чем она ограничена?


Тем, что о таких вариантах вменяемым веб-разработчикам вообще должно быть стыдно даже говорить.

archimag ★★★
()
Ответ на: комментарий от archimag

> Тем, что о таких вариантах вменяемым веб-разработчикам вообще должно быть стыдно даже говорить.

Сможет, ты все-таки ответишь, чем ограничена? Просто мне непонятно - все время веб-разработчики передавали информацию о состоянии через строку запроса и с этим не было никаких проблем. И ничего стыдного. Но вот только попытайся передать _ту же самую_ информацию в контексте вызова продолжения - все, уже стыдно. Где тут логика?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.