Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Lisp
Перезагрузить страницу String to Lisp как реализовать
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Anonymous
Guest
 
Сообщений: n/a
По умолчанию String to Lisp как реализовать - 07.11.2003, 16:25

Помогите пожалуйста перевести стринг в лист, так чтобы не было кавычек.
Например стринг "Привет! Как дела?" должен в итоге выглядеть как лист (Привет! Как дела?)
Спасибо.
Ответить с цитированием
  (#2 (permalink)) Старый
Tyro Tyro вне форума
Member
 
Сообщений: 19
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.10.2003
По умолчанию Помогаю. - 08.11.2003, 14:07

Я склепал рекурсивную ф-ию которая разбивает строку на слова, превращает их в символы и пакует в список. Всё писалось на MCL5 в соответствии с ANSI Common Lisp.

Код:
;;; Tokenizes a given string, turns the tokens into symbols and 
;;; packs them into a list
(defUn make-symbols(string start delimiter-test)
   (let ((start (position-if-not delimiter-test string :start start)))
     (if start
       (let ((end (position-if delimiter-test string :start start)))
         (cons (read-from-string (subseq string start ))
               (if end
                 (make-symbols string end delimiter-test)
                 nil)))
       nil)))

;;; Customized version of make-symbols function
(defUn my-make-symbols(string)
   (make-symbols string 0 #'(lambda (char)
                               (char= char # ))))

; Tests
(my-make-symbols "a b c")
(my-make-symbols "")
(my-make-symbols "a")
(my-make-symbols " a")
(my-make-symbols " a ")
(my-make-symbols "a  ")
(my-make-symbols "Privet! Kak dela?")

#|
; Results
(A B C)
NIL
(A)
(A)
(A)
(A)
(PRIVET! KAK DELA?)
|#
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AnsiString в String, String в AnsiString компилятор выдает ошибку Sputni_ck C++ Builder 4 29.07.2011 09:18
Реализовать класс String для работы со строками символов Энжи Вопросы начинающих программистов 4 15.12.2009 11:26
Реализовать на Lisp алгоритм Маркова xmtgx Lisp 16 01.06.2009 19:54
Как реализовать new, delete[], std::string Tremr С/С++ 3 16.11.2008 14:27
Необходимо реализовать на Common LISP нахождение рещений произвольной системы imported_Dream Lisp 2 29.02.2008 09:24
Перевод данных std::string String mark_skif .NET 1 11.04.2006 18:43
Русский текст и string. Есть ли для string аналог OemToChar Walker Visual C++ 18 17.04.2005 16:16
Как реализовать функцию изменения значения массива классов string Omen С/С++ 3 02.10.2004 17:09
Как реализовать такую формулу string:=string+char Алексеев Николай Delphi 8 24.08.2004 12:48
Как в Lisp открыть файл для чтения и считать string строчки Andrey1 Lisp 2 18.03.2004 23:12
Пролог программа на Lisp как реализовать Belldandy Lisp 7 12.10.2003 04:45
Как реализовать string и array of char на форме andrey_pst Delphi 3 26.09.2003 17:45



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов