8 / 6 / 2
Регистрация: 29.11.2017
Сообщений: 206
1

Селектор pairHead

28.10.2018, 19:46. Показов 1004. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Селектор pairHead e должен выдавать первый элемент пары, если его аргумент — конструктор пары. В
противном случае должно выдаваться сообщение об ошибке: "The expression e is not a pair".
НЕЛЬЗЯ описывать какие-либо ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ, за исключением тех, о которых явно
говорится в задании.
Входные данные:
Haskell
1
2
pairHead (Pair (Var e) _) = Head (Var e)
pairHead e = error $ "The expression" ++ show e ++ " is not a function"
Проходит данный тест:
Haskell
1
test_pairHead_2 = pairHead Unit == Unit
Но первый тест нет:
Haskell
1
test_pairHead_1 = pairHead (Pair (Var "a") Unit) == Var "a"
В чём причина?(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2018, 19:46
Ответы с готовыми решениями:

Селектор funBody
Селектор funBody e должен выдавать выражение — тело функции, если его аргумент — определение...

Селектор funName
Селектор funName e должен выдавать имя функции, если его аргумент — определение функции. В...

Селектор closureFun
Селектор closureFun e должен выдавать функцию замыкания, если его аргумент — замыкание. В...

Селектор
Имеется селектор double size() const { return _n;}Подскажите что значит const?

8
Эксперт 1С
843 / 606 / 211
Регистрация: 24.07.2013
Сообщений: 2,102
28.10.2018, 20:13 2
Контекст отсюда брать?

А так:
Haskell
1
2
pairHead (Pair e _) = e
pairHead e = error $ "The expression" ++ show e ++ " is not a pair"
2
Модератор
Эксперт функциональных языков программированияЭксперт Python
36590 / 20320 / 4218
Регистрация: 12.02.2012
Сообщений: 33,621
Записей в блоге: 13
28.10.2018, 20:15 3
Странно выглядит второй тест. По идее он должен вызвать ошибку (т.к. аргумент - не пара).

Haskell
1
2
3
4
5
pairHead (Pair (Var e) _) = (Var e)
pairHead e = error $ "The expression" ++ (show e) ++ " is not a function"
 
*Main> pairHead (Pair (Var "a") Unit) == Var "a"
True
0
8 / 6 / 2
Регистрация: 29.11.2017
Сообщений: 206
28.10.2018, 20:24  [ТС] 4
Спасибо)
0
1 / 1 / 0
Регистрация: 28.03.2017
Сообщений: 162
06.11.2019, 11:38 5
А если задание относится ко второму элементу "Селектор pairTail e должен выдавать второй элемент пары, если его аргумент — конструктор пары. В противном случае должно выдаваться сообщение об ошибке: "The expression e is not a pair"" ?
Если меняешь местами :
pairTail (Pair _ (Var e)) = (Var e)
pairTail e = error $ "The expression" ++ (show e) ++ " is not a pair"
компилирует, но при тесте выдаёт ошибку: "The expressionPair (Var "a") Unit is not a pair".
Что не так ?
0
Модератор
5046 / 3275 / 526
Регистрация: 01.06.2013
Сообщений: 6,806
Записей в блоге: 9
06.11.2019, 17:18 6
Haskell
1
2
pairTail (Pair _ e) = e
pairTail e = error $ "The expression" ++ show e ++ " is not a pair"
1
1 / 1 / 0
Регистрация: 28.03.2017
Сообщений: 162
06.11.2019, 21:53 7
А не "Pair e _" ?
0
Модератор
5046 / 3275 / 526
Регистрация: 01.06.2013
Сообщений: 6,806
Записей в блоге: 9
06.11.2019, 22:03 8
Цитата Сообщение от vvs79 Посмотреть сообщение
А не "Pair e _" ?
нет. Проверили бы сами.
0
1 / 1 / 0
Регистрация: 28.03.2017
Сообщений: 162
06.11.2019, 23:14 9
А , ну да (что-то я не там посмотрел).
0
06.11.2019, 23:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.11.2019, 23:14
Помогаю со студенческими работами здесь

ос селектор
Подскажите оптимальный вариант. У меня два винта, на одном ХРишка, на втором Минт росинка,...

Селектор
Добрый день, помогите написать селектор. Мне нужно что бы показывался и скрывался именно тот спан,...

Селектор CSS3
В CSS 3 есть миллион новых селекторов, но вот почему-то именно то что нужно, найти не могу. Есть...

не работает селектор
<table id="table_img"> <tr class="comment"> <td><h1>Png: </h1></td> </tr> ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru