Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Haskell
Перезагрузить страницу Функция removeEmpty, которая удаляет пустые строки из заданного списка строк.
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
RoseAle RoseAle вне форума
Новичок
 
Сообщений: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.01.2014
По умолчанию Функция removeEmpty, которая удаляет пустые строки из заданного списка строк. - 27.01.2014, 23:11

Добрый вечер,нужна помощь
Нужно определить функцию removeEmpty, которая удаляет пустые строки из за-данного списка строк. Например:
removeEmpty ["", "Hello", "", "", "World!"]
В учебниках не могу найти такую функцию, по поисковику нашла в вашем фруме похожую тему и там ответили
"removeEmpty xs = filter (not . null) xs"
но слепо копировать не хочеться
и ещё одно,
Определить функцию сложения элементов двух списков. Возвращает список,
составленный из сумм элементов списков-параметров. Учесть,
что переданные списки могут быть разной длины.
какой вариант правильнее
listSumm ( l1, l2 ) | l1 == [] && l2 == [] = []
| l1 == [] = l2
| l2 == [] = l1
| otherwise = (head l1 + head l2) : listSumm(tail l1, tail l2)
или
listSumm :: Ord (a) => [a] -> [a]
listSumm [] l = l
listSumm l [] = l
listSumm (h1:t1) (h2:t2) = (h1 + h2) : (listSumm t1 t2)
Или правильны оба варианта?
Ответить с цитированием
  (#2 (permalink)) Старый
Alexiski Alexiski вне форума
Любитель давать советы
 
Сообщений: 4,274
Сказал(а) спасибо: 27
Поблагодарили 54 раз(а) в 54 сообщениях
Регистрация: 16.10.2005
По умолчанию 28.01.2014, 18:18

Первый вариант listSumm содержит избыточное сравнение - совершенно незачем отдельно обрабатывать вариант двух пустых списков
Ответить с цитированием
  (#3 (permalink)) Старый
CatsTail CatsTail вне форума
Member
 
Сообщений: 13
Сказал(а) спасибо: 1
Поблагодарили 4 раз(а) в 4 сообщениях
Регистрация: 08.06.2012
По умолчанию 03.03.2014, 21:10

haskell Код:
removeEmpty :: [String] -> [String]
removeEmpty = filter (\ x -> length x /= 0)
Ответить с цитированием
Ads
Ответ

Метки
removeempty , функция

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализовать функцию, которая удаляет все i+n – е элементы списка Rosha Lisp 5 29.04.2016 13:02
Описать функцию, которая для заданного списка lst формирует список-результат dazenita Lisp 10 06.01.2015 10:22
Функция, удаляющая из списка элементы, менше заданного значения HeadHunters Lisp 3 24.12.2011 01:23
Напишите функцию (drop L N), которая удаляет N элементов с конца списка L balbec Lisp 9 29.05.2011 18:12
Реализовать функцию, которая удаляет из lst1 все элементы-списки Loona Lisp 5 22.03.2011 15:55
Функция Collect - перегрупирует элементы заданного списка ShakaL Lisp 0 18.10.2010 00:17
Функция REMOVE - удаляет из списка все совпадающие с данным атомом элементы IIITAK Lisp 8 28.12.2007 22:47
Написать функцию RENOVEL, которая удаляет из списка последний элемент jack26 Lisp 13 05.12.2007 18:02
Написать функцию REMOVE, которая удаляет из списка совпадающие символы Undertaker Lisp 6 22.10.2007 01:31
Ф-ия file() и пустые строки Diver PHP 3 27.03.2005 23:50
Удаление строки из списка строк Vixie Lisp 3 23.11.2004 20:47
Как составить функцию, которая удаляет из предложения слово палиндром Daredevil Вопросы начинающих программистов 15 24.10.2004 01:25



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