169 похожих чатов

Всем здравствуйте 👋. Вчера только Haskell начал пробовать. Пишу на Python,

C#., C++.

Написал простые программы на Haskell:
https://godbolt.org/z/rs8rxoYss

Фото чо мне прислали. Почему нельзя поменять местами _str _num аргументы? Я вижу что Show a для _num, а String a для _str.

9 ответов

2 просмотра
Алексей-Щеглов Автор вопроса

Речь шла про возможности перегрузки функций. Хотел сделать соединение двух типов а результат строки. Но в Compiler Explorer написал паттерн матчингом.

Можно поменять местами, почему нет?

Алексей-Щеглов Автор вопроса
Andrey
Можно поменять местами, почему нет?

Мне сказали так, из PLD чата. Понятия не имею почему. Нужно тогда на деле посмотреть почему.

Алексей Щеглов
Речь шла про возможности перегрузки функций. Хотел...

А-а, ты перегрузить хочешь, с одним именем, но разным порядком? Так не получится

Алексей-Щеглов Автор вопроса
Andrey
А-а, ты перегрузить хочешь, с одним именем, но раз...

Перезагрузить с разными типами второго аргумента. Первый аргумент всегда строка.

покажи что именно нельзя сделать, на словах неясно

Алексей-Щеглов Автор вопроса
Danil Berestov
покажи что именно нельзя сделать, на словах неясно

Что я пытался реализовать: concatenation :: String -> Int -> String concatenation _str _num = _str ++ show _num concatenation :: String -> Bool -> String concatenation, _str _bool = _str ++ show _bool Итог: 1) Реализовал перегрузку через паттерн матчинг. https://github.com/AlexeyVologoda/Haskell_FirstPets/blob/main/main.hs На основе этого проекта мне дали фото как можно в 2 строки реализовать concatenation. На основе этого совета я спросил у людей можно ли поменять местами _str _num потому, что тайпкласс это Show по словам людей. Я вижу что Show a задан как первый аргумент, а _str это всегда строка и почему Int _num не в операции show _num. Люди сказали что не нужно менять. Что я представлял в себе "правильный" код: Из concatenation :: Show a => String -> a -> String concatenation _str _num = _str ++ show _num В: concatenation :: String -> Show a -> String concatenation _str _num = _str ++ show _num

Похожие вопросы

Обсуждают сегодня

Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
48
а проверьте, собирается ли у кого сейчас транк лазаря через делюкс? у меня вот: fpcupdeluxe: info: Lazarus Native Installer (BuildModuleCustom: UserIDE): LazBuild: building Us...
Iluha Companets
20
Такой вопрос: Почему DocLister, если указать другие шаблоны для пагинации - ко всем указанными шаблоном присваивается пустая строка?
Кирилл Гацевич
11
добрый день. возможно ли изменить цвет окон лазаруса? Как?
Budemposmotret
35
This is a big issue. Just by being a citizen of a country, you are denied to contribute to Open Source software: https://youtu.be/L5Ec5jrpLVk?si=1iIuHnMPbCB4anV-
Sharuzzaman Ahmat Raslan
72
Мне тут приспичило встроить в программу форматировние текста SQL, расставить переносы строк и отступы так, чтобы лучше читалось. Я что-то свое изобразил, оно после ключевых сл...
Sergey Bodrov
6
Господа, а кто-нибудь сталкивался с размещением на TTabControl/TTabSheet множества контролов (> 100) с последующими External: Access violation? Вот буквально на ровном месте. ...
Dmitry
29
Вот например простой пример, как получить стоимость хешрейта монеты монеро с сайта whattomine.com c использование сеарилизатора при парсинге JSON TaskProfit := TTask.Run(proc...
Delphi Coder
2
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
Does anyone have some zeroday's left?
Wito!d ♥️🩷
44
Карта сайта